昨天吃了顿麦当劳,觉得他那个可乐好喝,喝起来也不涨肚子 今天又想喝可乐了,买了罐可口可乐,发现就前两口好喝,而且喝了几口就很涨肚子,最后喝了不到一半就扔了 外面便利店能不能买到麦当劳那种可乐?
昨天吃了顿麦当劳,觉得他那个可乐好喝,喝起来也不涨肚子 今天又想喝可乐了,买了罐可口可乐,发现就前两口好喝,而且喝了几口就很涨肚子,最后喝了不到一半就扔了 外面便利店能不能买到麦当劳那种可乐?
昨天吃了顿麦当劳,觉得他那个可乐好喝,喝起来也不涨肚子 今天又想喝可乐了,买了罐可口可乐,发现就前两口好喝,而且喝了几口就很涨肚子,最后喝了不到一半就扔了 外面便利店能不能买到麦当劳那种可乐?
昨天吃了顿麦当劳,觉得他那个可乐好喝,喝起来也不涨肚子 今天又想喝可乐了,买了罐可口可乐,发现就前两口好喝,而且喝了几口就很涨肚子,最后喝了不到一半就扔了 外面便利店能不能买到麦当劳那种可乐?
昨天吃了顿麦当劳,觉得他那个可乐好喝,喝起来也不涨肚子 今天又想喝可乐了,买了罐可口可乐,发现就前两口好喝,而且喝了几口就很涨肚子,最后喝了不到一半就扔了 外面便利店能不能买到麦当劳那种可乐?
昨天吃了顿麦当劳,觉得他那个可乐好喝,喝起来也不涨肚子 今天又想喝可乐了,买了罐可口可乐,发现就前两口好喝,而且喝了几口就很涨肚子,最后喝了不到一半就扔了 外面便利店能不能买到麦当劳那种可乐?
昨天吃了顿麦当劳,觉得他那个可乐好喝,喝起来也不涨肚子 今天又想喝可乐了,买了罐可口可乐,发现就前两口好喝,而且喝了几口就很涨肚子,最后喝了不到一半就扔了 外面便利店能不能买到麦当劳那种可乐?
昨天吃了顿麦当劳,觉得他那个可乐好喝,喝起来也不涨肚子 今天又想喝可乐了,买了罐可口可乐,发现就前两口好喝,而且喝了几口就很涨肚子,最后喝了不到一半就扔了 外面便利店能不能买到麦当劳那种可乐?
昨天吃了顿麦当劳,觉得他那个可乐好喝,喝起来也不涨肚子 今天又想喝可乐了,买了罐可口可乐,发现就前两口好喝,而且喝了几口就很涨肚子,最后喝了不到一半就扔了 外面便利店能不能买到麦当劳那种可乐?
昨天吃了顿麦当劳,觉得他那个可乐好喝,喝起来也不涨肚子 今天又想喝可乐了,买了罐可口可乐,发现就前两口好喝,而且喝了几口就很涨肚子,最后喝了不到一半就扔了 外面便利店能不能买到麦当劳那种可乐?
昨天吃了顿麦当劳,觉得他那个可乐好喝,喝起来也不涨肚子 今天又想喝可乐了,买了罐可口可乐,发现就前两口好喝,而且喝了几口就很涨肚子,最后喝了不到一半就扔了 外面便利店能不能买到麦当劳那种可乐?
昨天吃了顿麦当劳,觉得他那个可乐好喝,喝起来也不涨肚子 今天又想喝可乐了,买了罐可口可乐,发现就前两口好喝,而且喝了几口就很涨肚子,最后喝了不到一半就扔了 外面便利店能不能买到麦当劳那种可乐?
IT之家 5 月 28 日消息, 上海市网信办 5 月 25 日发布关于属地 App 个人信息收集使用问题的通报(2026 年第二批-消费零售专项), 优衣库、沪上阿姨、汉堡王、可口可乐、迪卡侬等被通报 。 IT之家附名单如下: 应用名称 运营者 应用来源 版本号 识货 上海识致信息科技有限责任公司 华为应用市场 8.73.0 优衣库 迅销(中国)商贸有限公司 华为应用市场 5.7.5 95 分 上海置潮信息科技有限公司 华为应用市场 3.31.50 网鱼 上海网鱼信息科技有限公司 华为应用市场 3.8.9 波奇宠物 光橙(上海)信息科技有限公司 华为应用市场 4.7.28 齐家装修 上海齐屹信息科技有限公司 华为应用市场 5.6.5 沪上阿姨点餐 沪上阿姨(上海)实业股份有限公司 微信小程序 / 汉堡王 + 汉堡王(中国)投资有限公司 微信小程序 / ASICS 亚瑟士官方商城 亚瑟士(中国)商贸有限公司 微信小程序 / 可口可乐吧 可口可乐饮料(上海)有限公司 微信小程序 / 迪卡侬 Decathlon 迪卡侬(上海)体育用品有限公司 微信小程序 / ALDI 奥乐齐商城 奥乐齐(中国)投资有限公司 微信小程序 / 小佩宠物 PETKIT 上海佩格医院管理有限公司 微信小程序 / 上海市网信办表示, 相关运营者应当于通报发布之日起的 15 个工作日内完成整改 ,并将整改情况报上海市网信办。上海市网信办将会同有关部门进行核查,并结合整改情况依法依规开展处置处罚。
还是纯问环节() 不过有糖挺好喝 无糖的跟喝小甜水一样 不过我还是觉得百事的更好喝( 40 个帖子 - 36 位参与者 阅读完整话题
现在一直喝的可口可乐的无糖版本,感觉味道还可以 32 个帖子 - 27 位参与者 阅读完整话题
/** 可口可乐吧 签到 - 青龙多账号版 环境变量: WXID: 备注#wxid,多账号用 & 或 换行 分隔 示例: 账号1#wxid_xxxxxxxx&账号2#wxid_yyyyyyyy 功能: 微信 code → Bearer token(带缓存) 查询签到状态 执行每日签到 查询积分 cron: 30 8 * * * const: disabled = false */ const axios = require(‘axios’); const fs = require(‘fs’); const path = require(‘path’); /* ==================== 常量配置 ==================== */ const APPID = ‘wxa5811e0426a94686’; const BASE_URL = ‘ https://member-api.icoke.cn ’; const UA = ‘Mozilla/5.0 (iPhone; CPU iPhone OS 16_3_1 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Mobile/15E148 MicroMessenger/8.0.59(0x18003b2e) NetType/4G Language/zh_CN’; const REFERER = https://servicewechat.com/${APPID}/499/page-frame.html ; const SCRIPT_DIR = path.dirname(__filename); const CACHE_FILE = path.join(SCRIPT_DIR, ‘可口可乐签到_cache.txt’); /* ==================== 环境变量 ==================== */ const WECHAT_SERVER = process.env.WECHAT_SERVER; const WXID_ENV = process.env.WXID; if (!WECHAT_SERVER || !WXID_ENV) { console.log(‘ 请设置 WECHAT_SERVER 和 WXID 环境变量’); process.exit(1); } const wxidList = WXID_ENV.split(/[\n&]/).map(i => i.trim()).filter(i => i && i.includes(‘#’)); if (!wxidList.length) { console.log(‘ WXID 格式错误,请使用 备注#wxid 格式’); process.exit(1); } /* ==================== 缓存管理 ==================== */ function loadTokenCache() { const cacheMap = {}; try { if (fs.existsSync(CACHE_FILE)) { fs.readFileSync(CACHE_FILE, ‘utf8’).split(/\n/).filter(Boolean).forEach(line => { const idx = line.indexOf(‘#’); if (idx > 0) { const remark = line.substring(0, idx); const token = line.substring(idx + 1); cacheMap[remark] = token; } }); } } catch (e) {} return cacheMap; } function saveTokenCache(cacheMap) { try { const content = Object.entries(cacheMap).map(([r, t]) => ${r}#${t} ).join(‘\n’); fs.writeFileSync(CACHE_FILE, content || ‘ #cache ’, { encoding: ‘utf8’, flag: ‘w’ }); } catch (e) {} } /* ==================== 微信 code 换 token ==================== */ async function getCode(wxid) { try { const url = ${WECHAT_SERVER}/api/v1/wx/app/get/code ; const res = await axios.post(url, { wxid, appid: APPID }, { timeout: 10000 }); const code = res.data?.Data?.code; if (!code) { console.log(‘ getCode 响应:’, JSON.stringify(res.data)); return null; } return code; } catch (e) { console.log(‘ getCode 异常:’, e.message); return null; } } async function codeToToken(code) { try { const url = ${BASE_URL}/api/sp-portal/store/icoke/wechat/loginNoCache/${code} ; const headers = { ‘Host’: ‘ member-api.icoke.cn ’, ‘content-type’: ‘application/json’, ‘Accept’: ‘application/json, text/plain, / ’, ‘Accept-Encoding’: ‘gzip,compress,br,deflate’, ‘User-Agent’: UA, ‘Referer’: REFERER, }; const res = await axios.get(url, { headers, timeout: 10000 }); const body = res.data; // 实际抓包确认:token 在响应体的 jwtString 字段 if (body && body.jwtString) { return body.jwtString; } console.log(‘ codeToToken 响应:’, JSON.stringify(body).substring(0, 300)); return null; } catch (e) { console.log(‘ codeToToken 异常:’, e.message); return null; } } async function getValidToken(remark, wxid, force = false) { const m = loadTokenCache(); if (force) delete m[remark]; if (m[remark]) { console.log(‘ 使用缓存 token’); return m[remark]; } console.log(‘ 获取微信 code…’); const code = await getCode(wxid); if (!code) return null; console.log( ✅ code: ${code.substring(0, 10)}... ); const token = await codeToToken(code); if (!token) return null; m[remark] = token; saveTokenCache(m); console.log(‘ token 已缓存’); return token; } /* ==================== 判断 token 失效 ==================== */ function isTokenInvalid(data) { if (!data) return false; const msg = (data.message || data.msg || ‘’).toLowerCase(); return msg.includes(‘未登录’) || msg.includes(‘token’) || msg.includes(‘登录’) || data.code === ‘401’ || data.code === 401 || data.status === 401 || data.httpStatus === 401; } /* ==================== 公共请求头 ==================== */ function getHeaders(token) { return { ‘Host’: ‘ member-api.icoke.cn ’, ‘Authorization’: token, ‘content-type’: ‘application/json’, ‘Accept’: ‘application/json, text/plain, / ’, ‘Accept-Encoding’: ‘gzip,compress,br,deflate’, ‘User-Agent’: UA, ‘Referer’: REFERER, }; } /* ==================== API 请求封装 ==================== */ async function apiGet(path, token, params) { try { const res = await axios.get( ${BASE_URL}${path} , { headers: getHeaders(token), params, timeout: 15000, }); return res.data; } catch (e) { console.log( ❌ GET ${path} 异常: , e.message); return null; } } async function apiPost(path, token, data) { try { const res = await axios.post( ${BASE_URL}${path} , data, { headers: getHeaders(token), timeout: 15000, }); return res.data; } catch (e) { console.log( ❌ POST ${path} 异常: , e.message); return null; } } /* ==================== 业务接口 ==================== */ async function getSignOutline(token) { const res = await apiGet(‘/api/icoke-sign/icoke/mini/sign/main/getSignOutline’, token); if (!res) return null; if (isTokenInvalid(res)) return { needRefresh: true }; const today = new Date(); const y = today.getFullYear(), m = today.getMonth() + 1, d = today.getDate(); const list = res.data || ; const todayRecord = list.find(r => r.year === y && r.month === m && r.day === d); return { signed: !!(todayRecord && todayRecord.exist), totalDays: list.filter(r => r.exist).length, point: todayRecord?.point || 0, data: list, raw: res, }; } async function doSign(token) { const res = await apiGet(‘/api/icoke-sign/icoke/mini/sign/main/sign’, token); if (!res) return { success: false, msg: ‘请求失败’ }; if (isTokenInvalid(res)) return { needRefresh: true }; if (res.success === true || res.isSuccess === true) { return { success: true, point: res.point || 0, msg: res.message || ‘签到成功’, }; } const msg = res.message || res.msg || JSON.stringify(res); if (msg.includes(‘已签’) || msg.includes(‘重复’) || msg.includes(‘already’)) { return { success: false, alreadySigned: true, msg }; } return { success: false, msg }; } /** 查询积分 */ async function getPoints(token) { const res = await apiGet(‘/api/icoke-customer/icoke/mini/customer/main/points’, token); if (!res) return null; return { point: res.point || 0, experiencePoints: res.experiencePoints || 0, frozenPoint: res.frozenPoint || 0, }; } /** 查询用户基本信息 */ async function getUserInfo(token) { const res = await apiGet(‘/api/icoke-customer/icoke/mini/customer/main/base/info’, token); if (!res) return null; return { name: res.name || ‘未知’, mobile: res.mobile || ‘’, grade: res.grade || ‘’, }; } /* ==================== 工具函数 ==================== */ function sleep(ms) { return new Promise(r => setTimeout(r, ms)); } /* ==================== 单账号执行 ==================== */ async function runSingleAccount(accountStr, index) { const sepIdx = accountStr.indexOf(‘#’); if (sepIdx <= 0) { console.log( ❌ 第${index}个账号格式错误,应为 备注#wxid ); return; } const remark = accountStr.substring(0, sepIdx); const wxid = accountStr.substring(sepIdx + 1).trim(); console.log( \n==================================== ); console.log( 🚀 【可口可乐】${remark}(第${index}个) ); console.log( ==================================== ); // 获取 token let token = await getValidToken(remark, wxid); if (!token) { console.log(‘ 获取 token 失败,跳过’); return; } // 查询签到状态 let outline = await getSignOutline(token); if (outline?.needRefresh) { console.log(‘ token 失效,重新获取…’); token = await getValidToken(remark, wxid, true); if (!token) { console.log(‘ 重新获取 token 失败’); return; } outline = await getSignOutline(token); } if (outline) { if (outline.signed) { console.log( 📅 签到状态:✅ 今日已签到 | 本月已签 ${outline.totalDays} 天 ); } else { console.log( 📅 签到状态:❌ 今日未签到 | 本月已签 ${outline.totalDays} 天 ); } } // 执行签到 let signResult = await doSign(token); if (signResult?.needRefresh) { console.log(‘ token 失效,重新获取…’); token = await getValidToken(remark, wxid, true); if (!token) { console.log(‘ 重新获取 token 失败’); return; } signResult = await doSign(token); } if (signResult?.success) { console.log( ✅ 签到成功!获得积分:${signResult.point} ); } else if (signResult?.alreadySigned) { console.log( ℹ️ 今日已签到:${signResult.msg} ); } else { console.log( ⚠️ 签到结果:${signResult?.msg || '未知'} ); } await sleep(1000); // 查询积分 const pts = await getPoints(token); if (pts) { console.log( 💰 当前积分:${pts.point} | 经验值:${pts.experiencePoints} | 冻结:${pts.frozenPoint} ); } // 查询用户信息 const userInfo = await getUserInfo(token); if (userInfo) { console.log( 👤 会员:${userInfo.name} | 手机:${userInfo.mobile} ); } console.log( ✨ ${remark} 执行完成\n ); } /* ==================== 主函数 ==================== */ !(async () => { console.log( 📢 可口可乐吧签到 - 共检测到 ${wxidList.length} 个账号 ); for (let i = 0; i < wxidList.length; i++) { await runSingleAccount(wxidList[i], i + 1); if (i < wxidList.length - 1) await sleep(2000); } console.log(‘ 全部账号执行完毕!’); })(); 4 个帖子 - 4 位参与者 阅读完整话题
可口可乐公司周一表示,正考虑在印度为其在该国最大的装瓶商——印度斯坦可口可乐饮料公司(Hindustan Coca-Cola Beverages)进行首次公开募股(IPO)。(新浪财经)
可口可乐4月28日公布第一季度业绩显示,净营收124.72亿美元,可比每股收益0.86美元。(界面)
嘉士伯4月21日宣布同百事公司达成新合作协议,将成为后者在丹麦、芬兰和波罗的海三国的装瓶商,2029年1月1日起生效。嘉士伯与可口可乐公司在丹麦和芬兰的现有装瓶协议将于2028年12月31日到期。嘉士伯已在瑞典和挪威为百事公司提供装瓶服务超过25年。(界面)