微信云开发官网
[图片] //前端代码 sendTemplateMsg() { // 替换为实际参数: const params = { touser: 'ochWuvg4vb5bGkvaXxfUaOHtLBqc', // 公众号用户的 openid(需提前获取) templateId: 'VjMWY17E3ONXsOKk4y5pO226nG7DU5n3w2jRDCiY3Qg', // 公众号模板 ID data: { // 模板数据(与公众号模板字段一一对应) thing7: { value: '杨朝宇' }, thing5: { value: '你有新消息请及时查看' }, time3: { value: '2025-08-28 09:25:26' }, }, url: 'https://your-domain.com/detail' // 点击跳转链接(可选) } wx.cloud.callFunction({ name: 'sendTemplateMessage', // 云函数名 data: params, }).then(res => { if (res.result.code === 0) { wx.showToast({ title: '发送成功' }) } else { wx.showToast({ title: '发送失败', icon: 'none' }) console.error(res.result.err) } }).catch(err => { wx.showToast({ title: '调用失败', icon: 'none' }) console.error(err) }) }, //云函数 const cloud = require('wx-server-sdk'); exports.main = async (event, context) => { const { touser, templateId, data, url } = event; const wxContext = cloud.getWXContext(); // 参数校验 if (!touser || !templateId || !data) { return { code: 1, err: '参数缺失:touser、templateId、data为必填项' }; } try { // 初始化资源方(小程序)的云环境实例 const targetCloud = new cloud.Cloud({ resourceAppid: "wx923c5dfc65663940", resourceEnv: "cloud1-1g6kzn9v7f2e4279" // 共享的云环境ID }); await targetCloud.init(); // 调用发送模板消息接口,appid是公众号appid const result = await targetCloud.openapi({ appid: 'wxee9bdeae6d16b96a' }).officialAccount.messageTemplate.send({ touser, templateId, data, url: url || '' }); return { code: 0, success: true, result }; } catch (err) { console.error('调用失败:', err); return { code: 2, success: false, err: err.toString() }; } }; [图片]
参考微信小程序开发文档:https://developers.weixin.qq.com/miniprogram/introduction/custom.html 微信云托管服务调用客服管理相关接口,携带business_id时,返回errcode: 40097。business_id已正确创建,调用拉取单个商户信息接口能返回正确的信息。
官方你好,各位大神好: 之前开通过云开发,尝试开通过消息推送至云函数,后来删除了云环境,但是发现小程序后台消息推送无法再配置推送消息给后台地址了,2年了,问题依旧,之前也努力找过微信各方,都是没有回应,真的希望官方能帮我解决一下这个问题,也真诚希望微信能越办越好,谢谢! ps:上面的环境id是我最近重新创建的,跟之前的不一样 [图片]
[图片]刚创建的新环境,就我一个人在测试,怎么会有上百次调用。只有个位数的操作数据库的请求。
[图片] 订单存在, 我的 查询代码如下 代码如下 =========== const cloud = require('wx-server-sdk'); const { Wechatpay, Formatter, Rsa } = require('wechatpay-axios-plugin'); const axios = require('axios'); const crypto = require('crypto'); cloud.init({ env: cloud.DYNAMIC_CURRENT_ENV }); exports.main = async (event, context) => { // 1. 初始化返回结构(严格遵循团队规范) const responseTemplate = { eCode: 0, remark: event.remark || "", message: "操作成功", functionName: context.functionName, data: {} }; try { // 2. 参数校验(双重验证) const { action, orderId } = event; if (action !== "check") { return { ...responseTemplate, eCode: 1001, message: "Invalid action type" }; } if (!orderId || typeof orderId !== 'string' || orderId.length < 6) { return { ...responseTemplate, eCode: 1004, message: "订单号格式错误" }; } // 3. 证书获取(复用payment-generate的缓存机制) const CERT_CACHE_KEY = 'wxpay_cert_cache'; let privateKey, platformCert; if (cloud[CERT_CACHE_KEY]) { ({ privateKey, platformCert } = cloud[CERT_CACHE_KEY]); } else { const fileList = [ 'cloud://sanlinbiao/ssl/apiclient_key.pem', 'cloud://sanlinda/ssl/wechatpay_3446A5267DEB167***3.pem' ]; const tempUrls = await cloud.getTempFileURL({ fileList }); const [keyRes, certRes] = await Promise.all([ axios.get(tempUrls.fileList[0].tempFileURL), axios.get(tempUrls.fileList[1].tempFileURL) ]); privateKey = keyRes.data; platformCert = certRes.data; cloud[CERT_CACHE_KEY] = { privateKey, platformCert }; } // 4. 支付初始化 const wxpay = new Wechatpay({ mchid: '1678**726', serial: '3A22B04C****270A8F950F4C', privateKey, certs: { '3446A5267***6AB2516707F3': platformCert } }); // 5. 调用微信支付订单查询接口 // 方案一:使用 outTradeNo 方法,并传入包含 mchid 的参数对象 // 5. 调用微信支付订单查询接口 - 【修改方案】 // 5. 调用微信支付订单查询接口 console.log('sign0903 Attempting to query order with URL:', `/v3/pay/transactions/out-trade-no/${orderId}?mchid=1678507726`); // 使用基础request方法(绕过高级封装) const result = await wxpay.request({ url: `/v3/pay/transactions/out-trade-no/${orderId}?mchid=167**7726`, method: 'GET' }); console.log('sign0903 Query result:', result.data); // 6. 解析支付状态 const { trade_state, amount } = result.data; const paidStatusMap = { SUCCESS: true, // 支付成功 REFUND: false, // 转入退款 NOTPAY: false, // 未支付 CLOSED: false, // 已关闭 REVOKED: false, // 已撤销 USERPAYING: false // 用户支付中 }; return { ...responseTemplate, data: { paid: paidStatusMap[trade_state] || false, amount: amount?.total || 0, tradeState: trade_state, currency: amount?.currency || 'CNY' } }; } catch (error) { // 7. 错误处理(严格遵循规范格式) const errRes = { ...responseTemplate, eCode: 5001, message: "订单查询异常", data: { errorType: "ORDER_QUERY_FAILED", detail: error.response?.data || error.message } }; // 8. 特定错误码优化 if (error.response?.status) { switch(error.response.status) { case 404: // 订单不存在 errRes.eCode = 4001; errRes.message = "订单不存在或已过期"; break; case 401: // 认证失败 errRes.eCode = 4002; errRes.message = "支付凭证校验失败"; break; } } console.error('ORDER_QUERY_ERROR', errRes); return errRes; } }; // 检查支付状态 // wx.cloud.callFunction({ // name: 'payment-check', // data: { // action: 'check', // orderId: 'ORDER123', // remark: '用户订单跟踪标记' // }, // success: res => { // const { eCode, data } = res.result; // if (eCode === 0) { // console.log(`订单状态: ${data.paid ? '已支付' : '未支付'}`); // } else { // wx.showToast({ title: `查询失败:${res.result.message}` }); // } // } // }); ======== 关键打印信息如下 [03 23:24:22.406] [Debug] [qrc:/qt/qml/xiao****ng/qml/singleUse/CXYQRCodeDialog.qml:170] [checkPaymentStatus] sign 0903 jsonD= {"action":"check","orderId":"ORD1756901726370DC50EFC1","remark":""} [03 23:24:22.673] [Debug] [D:\workxiaoyang\git\xiaoy**oting\src\interface\cxycmdobject.cpp:58] [void __cdecl CXYCmdObject::{ctor}::<lambda_8898810f9244c0810838edc138ea559f>::operator ()(const class QJsonDocument &) const] Function called514, response: "{\n \"errcode\": 0,\n \"errmsg\": \"ok\",\n \"resp_data\": \"{\\\"eCode\\\":4001,\\\"remark\\\":\\\"\\\",\\\"message\\\":\\\"订单不存在或已过期\\\",\\\"data\\\":{\\\"errorType\\\":\\\"ORDER_QUERY_FAILED\\\",\\\"detail\\\":\\\"<html>\\\\r\\\\n<head><title>404 Not Found</title></head>\\\\r\\\\n<body bgcolor=\\\\\\\"white\\\\\\\">\\\\r\\\\n<center><h1>404 Not Found</h1></center>\\\\r\\\\n<hr><center>nginx</center>\\\\r\\\\n</body>\\\\r\\\\n</html>\\\\r\\\\n\\\"}}\"\n}\n" 一直提示我查不到订单, 很多信息,例如商户号,密钥我都核对过了,是正确的。 单看代码谁可以给出问题原因吗?
[图片]点击这个云开发按钮没反应了,前一天还是正常的,突然就打不开路。网上各种办法都试过了还是打不开。 没有更新开发工具(至少没有手动点更新),安装路径没有中午,没开代理,云开发环境造创建好了,也没有欠费。 有网页端可以平替吗
小程序希望开通云开发/静态网站,点击开通按钮,一直提示 Error: ResourcesSoldOut.PostpayPackageNotAvailable, This env type is not available。Please choose another one (329e2c31-1922-45a0-b882-f50c81e15f94) at Object.c [as outputTransformationThrows] (http://127.0.0.1:62143/ideplugin/cloudconsolev1/js/bundle.js:2:10308366) at outputTransformationThrows (http://127.0.0.1:62143/ideplugin/cloudconsolev1/js/bundle.js:2:397500) at Object.s (http://127.0.0.1:62143/ideplugin/cloudconsolev1/js/bundle.js:2:415378) at async t.tcbCreatePostpayPackage (http://127.0.0.1:62143/ideplugin/cloudconsolev1/js/bundle.js:2:10424258) 希望注销再建,在设置-拓展功能里,也没看到注销按钮 请问要怎么才能开通静态网站
使用的是微信云开发环境,调用的是云函数,跟AI对话调用的是腾讯混元大模型,“真机调试时勾选了“不校验合法域名”选项就能发送消息和AI对话,不勾选“不校验合法域名”发消息时就会提示“网络连接不可用”
// 公众号基本信息:请修改下列字段使用本示例 请换成自己的 const WX_RESOURCE_APPID = 'wxebbfb0c332a64879' /* 资源方 AppID */ const WX_RESOURCE_ENVID = 'y-xxxx' /* 资源方云开发环境 ID */ const WX_OFFICIAL_ACCOUNT_APPID = 'wxdeb11c5649d3bff6'/* 公众号 AppID */ const WX_AUTH_TYPE = 'snsapi_base' /* 选择需要的授权方式,snsapi_base 或 snsapi_userinfo */ const WX_REDIRECT_URI = 'https://shouyin.yeepay.com/nc-cashier-wap/sccanpay/auth2Callback/wechatLogin' /* 回调 URL */ // // 示例配置 const isPersistLoginInfo = false // 是否需要保留登录态信息到 window 中,只有 snsapi_userinfo 方式需要 if (window.wx) { window.cloud = wx.cloud } var urlSearch = new URLSearchParams(location.search) var accessToken = urlSearch.get('access_token') var refreshToken = urlSearch.get('refresh_token') /** * 检查/发起登录 * 1. 函数会检查当前是否已登录(checkLogin) * 2. 如果未登录,会 10s 后自动发起登录(startLogin) * 3. 如果已登录,会初始化实例,使用指定的微信云开发资源 */ window.doLogin = async () => { try { const checkLoginOptions = { provider: 'OfficialAccount', appid: WX_OFFICIAL_ACCOUNT_APPID, } if (accessToken) { checkLoginOptions.accessToken = accessToken } if (refreshToken) { checkLoginOptions.refreshToken = refreshToken } console.log(`checkLogin options: `, checkLoginOptions) const result = await cloud.checkLogin(checkLoginOptions) console.log(`checkLogin result: `, result) if (isPersistLoginInfo) { window.checkLoginRes = result } if (result.errCode === 0 && result.loggedIn) { console.log(`checkLogin success`) const instance = window.instance = new cloud.Cloud({ appid: WX_OFFICIAL_ACCOUNT_APPID, resourceAppid: WX_RESOURCE_APPID, resourceEnv: WX_RESOURCE_ENVID, }) const initResult = await instance.init() console.log(`instance inited`, initResult) console.log(`can use cloud instance to access resource now !`) return instance } else { console.log(`checkLogin with sdk errCode ${result.errCode} errMsg ${result.errMsg}, will start oauth in 10s`) setTimeout(() => { try { cloud.startLogin({ provider: 'OfficialAccount', appid: WX_OFFICIAL_ACCOUNT_APPID, scope: WX_AUTH_TYPE, redirectUri: WX_REDIRECT_URI+'?redirectUrl='+window.location.href, }) } catch (e) { console.error(`startLogin fail: ${e}`) console.warn(`will start OfficialAccount OAuth login in 10s.`) } }, 3000) } } catch (e) { console.error(e) } } async function getJSSDKSignature(url = window.location.href) { const instance = window.instance let res = {} try { // 在完成云开发登录之后,可以使用云开发 Web SDK 提供的 getJSSDKSignature 方法完成获取网页 wx.config 所需签名 res = await instance.getJSSDKSignature({ url: url // '要签名的网页 URL' }) } catch (error) { console.error(error); } console.log(res, 'res------<'); return res } 调用 checkLogin 获取登录, 提示 redirect_uri 参数错误 [图片]
[图片]
[图片][图片] 第16行在执行云开发调试的时候报错 [图片]errCode: -604100 API not found | errMsg: system error: error code: -604100
比如我想在云端js函数中获取自定义变量[代码]TOKEN_SECRET[代码] 的值123456,使用process.env.TOKEN_SECRET获取不到,我不知道是不是自己添加的位置不对。[图片]
https://developers.weixin.qq.com/miniprogram/dev/devtools/download.html[图片]
为什么现在云开发服务商做的小程序,打开云开发控制台,没有显示那个小程序的云开发环境?依然还是模板的? 以前云开发环境会自动切换到app.json extAppid 字段对应的云开发环境,现在不管按照什么微信开发者工具版本,依然只能看到模板的云开发环境。 这个问题,已经很久了,印象中至少有1年。我一直以为会有人帮我反馈你们会自然修复,但是一直没有修复。现在特别反馈一下, 麻烦修复一下吧
使用在腾讯微搭调用云函数时,中间需要去发送模板消息通知用户,但是报错 errCode: -501007 invalid parameters | errMsg: officialAccount.messageTemplate.send:fail missing wxCloudApiToken,不知道什么问题? [图片][图片]
https://developers.weixin.qq.com/community/minihome/mixflow/1286298401038155776,云开发地址在微信端打开提示[图片]
https://developers.weixin.qq.com/miniprogram/dev/wxcloudservice/wxcloud/basis/getting-started.html
Error: InvalidParameter, {"ReturnValue":0,"ReturnCode":1100201,"ReturnMessage":"很抱歉,检测到您的账号存在异常,暂不能参与本活动,感谢您对腾讯云的理解与支持!","Requestld":""}(b6786a7c-cb0a-4717-9f4d-02ac7f223a79)
[图片] 我的微信里面并没有在服务通知当中弹出相关的信息,我也在小程序当中找不到对应的消息,无法确认,请告诉我确认的方法
我在微信的云开发平台中的其他设置中的微信支付配置里面,申请授权绑定状态和JSAPI权限,点击授权,它返回模板消息确认,但是我不知道去哪里去确认消息 因为一直卡在这里,导致我无法配置微信支付
小程序示例
小程序官方示例Demo,包含云开发示例。
小程序示例
扫码体验
云开发 发送模版 要添加ip白名单吗 如果要 云环境ip是多少啊