小程序
开普勒机器人是认证服务账号,在文章中想插入外链跳转,为什么没有这个功能? 其他账号已测试,可以操作外链。 求解决
AppID(小程序ID) wx35671b05da06a9cc 下面是文档截图 [图片] 下面是我的小程序的截图 [图片] 服务内容声明里面没有用户隐私保护指引,这是为什么呢?
微信小程序主体变更,个人变到个人,扫脸显示法定代表人信息不一致,法定代表人验证失败?换了两个人都不行。
本次备室主体下已备室成功的互联网信息服务:小程序/网站/app/快应用存在空壳情况(即对应服务无接入商)被管局退回,请自查对应服务接入情况,请解决该问题后重新提交当前订单。名下备案的程序是能正常搜索能正常访问的。怎么会出现这个情况呢?[图片]
如题 ,服务号去认证,公众号没提到认证,公众号能免费申请视频号认证?下面的回复是不是找错了,应该是公众号认证,再以公众号的认证免费去认证视频号。盼复。 以下是智能回复的原文。 您好,针对小微企业账号名称统一问题,建议按以下步骤处理: 服务号名称修改: 对当前名为「傲蓝环保」的服务号进行微信认证(300元/次),在认证流程的「确认名称」环节直接保留原名称「傲蓝环保」通过认证即可(无需强制改名)。认证通过后服务号将获得名称保护,其他账号无法占用该名称。 公众号重命名: 服务号认证成功后,未认证的公众号「傲蓝-滤袋-荧光粉」即可申请更名为「傲蓝环保」(需确保名称符合规则)。 视频号认证: 公众号认证通过后,可在视频号设置中直接申请企业认证(需满足:公众号已认证+视频号与公众号同名),无需重复缴纳认证费用。 商标相关问题: 当前认证无需提交商标证书,但若后续完成商标注册,建议在公众号后台【设置-账号详情】中补充上传商标注册证及授权书,以增强账号权益保护。 操作指引: • 微信认证流程:https://kf.qq.com/product/weixinmp.html#hid=99 • 名称修改规则:https://kf.qq.com/faq/120911VrYVrA160722nURN7r.html
<template> <pano :panolist="panolist" :entryid="entrypanoid" :entryname="entrypanoname" width="320" height="240" :key="key" :utoinit="false"> <cover-view style="position: fixed;top:80%;width:100%;text-align:center;"> <cover-view style="width:50%;text-align:center;float:left;" bindtap="covertap">跳转全景图</cover-view> <cover-view style="width:50%;text-align:center;float:left;" bindtap="setCameraLookAt">切换视角</cover-view> <cover-view style="width:50%;text-align:center;float:left;" bindtap="enableTouch">打开触摸</cover-view> <cover-view style="width:50%;text-align:center;float:left;" bindtap="disableTouch">关闭触摸</cover-view> <cover-view style="width:50%;text-align:center;float:left;" bindtap="getPanoInfo">获取当前全景信息</cover-view> </cover-view> </pano> </template> <script> export default { // data() { // return { // // 插件状态 // pluginReady: false, // showLoading: true, // loadingText: '初始化中...', // loadingRetryCount: 0, // maxRetryCount: 5, // showRetryBtn: false, // // 调试信息 // debugMode: true, // 开发时开启,生产时关闭 // debugInfo: '', // wxPanoExists: false, // configExists: false // }; // }, onLoad(options) { // 注意:这里不使用 const,因为插件可能异步加载 var wxPano = requirePlugin("wxPano") console.log('插件管理器:', wxPano); // 检查插件是否已授权 const pluginManager = wx.getPluginManager && wx.getPluginManager(); // 检查已安装的插件 const plugins = wx.getStorageSync('plugins') || {}; console.log('已安装的插件:', plugins); //console.log('页面加载,开始初始化插件'); setTimeout(() => { wxPano.config({ panolist:[{ name:"xindamen", src: "https://qcloud.dpfile.com/pc/UVlO2SAIXfHl1S291oBVrhRHEMii-N3Tm7LQBo_RAdcPu-sWyOM5Vp-C07zrDsmD.jpg", infospots:[ //信息标记 { type: "modal", modal: { title: "wxPano", content: "欢迎使用wxPano" }, position: { x: 0.092, y: 0.434 }, size: 1, icon: "info", bindcamera:true, bindsize: 0.5, bindicon: "info", bindopacity:0.75, bindposition: { x: 0.5, y: 0.75 } }, { type: "page", page: function(){ wx.navigateTo({url: "ar", success(evt) { console.log(evt); } }) }, position: { x: 0.437, y: 0.447 }, size: 1, icon: "info" } ] }], request:wx.request, loader:"GLLoader", entryname:"xindamen"}); console.log('插件管理器:'); }, 30000); // setTimeout(() => { // this.initPanoPlugin(); // }, 2000); }, // onReady() { // console.log('页面就绪,再次检查插件状态'); // // 延迟检查,确保页面完全渲染 // // setTimeout(() => { // this.checkPluginStatus(); // // }, 2000); // }, // methods: { // // 检查插件状态 // checkPluginStatus() { // try { // // 尝试获取插件 // wxPano = requirePlugin("wxPano"); // console.log('wxPano对象:', wxPano); // console.log('wxPano类型:', typeof wxPano); // console.log('wxPano属性:', Object.keys(wxPano || {})); // console.log('wxPano对象获取成功,属性检查:', { // config: typeof wxPano.config, // on: typeof wxPano.on, // setCameraLookAt: typeof wxPano.setCameraLookAt // }); // this.wxPanoExists = !!wxPano; // this.configExists = wxPano && typeof wxPano.config === 'function'; // this.debugInfo = `wxPano: ${this.wxPanoExists}, config: ${this.configExists}`; // if (wxPano ) { // console.log('插件已就绪,可以调用config'); // if (!this.pluginReady) { // this.pluginReady = true; // this.doPanoConfig(); // } // } else { // console.warn('插件尚未就绪,继续等待...'); // } // } catch (error) { // console.error('检查插件状态时出错:', error); // this.debugInfo = `错误: ${error.message}`; // } // }, // // 初始化插件 // initPanoPlugin() { // console.log('开始初始化全景插件...'); // this.showLoading = true; // this.loadingText = '正在加载插件...'; // // 方案1:直接尝试获取插件 // this.loadingRetryCount++; // try { // wxPano = requirePlugin("wxPano"); // console.log('直接获取wxPano结果:', wxPano); // if (wxPano) { // console.log('wxPano对象获取成功,属性检查:', { // config: typeof wxPano.config, // on: typeof wxPano.on, // setCameraLookAt: typeof wxPano.setCameraLookAt // }); // // 检查插件是否完全就绪 // if (typeof wxPano.config === 'function') { // console.log('插件已完全就绪'); // this.pluginReady = true; // this.showLoading = false; // this.doPanoConfig(); // return; // } // // 如果config不存在,尝试监听ready事件 // if (typeof wxPano.on === 'function') { // console.log('监听插件ready事件...'); // wxPano.on('ready', () => { // console.log('收到插件ready事件'); // this.pluginReady = true; // this.showLoading = false; // this.doPanoConfig(); // }); // // 设置超时 // setTimeout(() => { // if (!this.pluginReady) { // console.warn('ready事件超时,尝试直接调用'); // this.checkPluginStatus(); // } // }, 3000); // } else { // // 如果没有on方法,开始轮询 // this.startPolling(); // } // } else { // console.warn('requirePlugin返回null或undefined'); // this.startPolling(); // } // } catch (error) { // console.error('获取插件时出错:', error); // this.startPolling(); // } // }, // // 开始轮询检查 // startPolling() { // console.log('开始轮询检查插件状态...'); // if (this.loadingRetryCount >= this.maxRetryCount) { // this.showLoading = false; // this.showRetryBtn = true; // this.loadingText = '插件加载失败'; // console.error('达到最大重试次数,插件加载失败'); // return; // } // this.loadingRetryCount++; // this.loadingText = `尝试加载插件 (${this.loadingRetryCount}/${this.maxRetryCount})...`; // setTimeout(() => { // this.checkPluginStatus(); // if (!this.pluginReady) { // this.startPolling(); // } // }, 1500); // }, // // 执行插件配置 // doPanoConfig() { // if (!this.pluginReady || !wxPano) { // console.error('插件未就绪,无法配置'); // return; // } // try { // console.log('开始执行wxPano.config...'); // // 执行配置 // wxPano.config({ // panolist: [{ // name: "office_scene", // src: "../../assets/11045.jpg", // }], // loader: "GLLoader", // entryname: "office_scene" // }); // // 检查配置函数是否存在 // if (typeof wxPano.config !== 'function') { // console.error('wxPano.config不是函数:', wxPano.config); // this.showRetryBtn = true; // this.loadingText = '插件API异常'; // return; // } // console.log('wxPano.config执行成功'); // this.showLoading = false; // // 监听事件 // this.setupEventListeners(); // // 显示成功提示 // uni.showToast({ // title: '全景加载成功', // icon: 'success', // duration: 2000 // }); // } catch (error) { // console.error('执行wxPano.config时出错:', error); // uni.showToast({ // title: `配置失败: ${error.message}`, // icon: 'none', // duration: 3000 // }); // this.showRetryBtn = true; // this.loadingText = '配置失败,请重试'; // } // }, // // 设置事件监听 // setupEventListeners() { // if (!wxPano) return; // // 监听导航事件 // if (typeof wxPano.onNavigate === 'function') { // wxPano.onNavigate = (event) => { // console.log('导航事件:', event); // }; // } // // 监听加载事件 // if (typeof wxPano.on === 'function') { // wxPano.on('load', (event) => { // console.log('场景加载完成:', event); // }); // wxPano.on('error', (error) => { // console.error('插件错误:', error); // }); // } // }, // // 测试插件API // testPlugin() { // console.log('=== 测试插件API ==='); // console.log('1. requirePlugin结果:', requirePlugin("wxPano")); // console.log('2. wxPano对象:', wxPano); // console.log('3. 插件配置:', uni.getStorageSync('plugins')); // // 尝试其他方式获取插件 // if (typeof wx !== 'undefined') { // console.log('4. 检查全局wx对象:', { // getPlugin: typeof wx.getPlugin, // requirePlugin: typeof wx.requirePlugin // }); // } // // 检查uni对象 // console.log('5. uni对象方法:', { // requirePlugin: typeof uni.requirePlugin // }); // // 尝试使用uni.requirePlugin // try { // const plugin = uni.requirePlugin("wxPano"); // console.log('6. uni.requirePlugin结果:', plugin); // } catch (error) { // console.error('uni.requirePlugin错误:', error); // } // }, // // 重试加载 // retryLoadPlugin() { // console.log('重新加载插件...'); // this.loadingRetryCount = 0; // this.pluginReady = false; // this.showRetryBtn = false; // this.showLoading = true; // this.loadingText = '重新加载中...'; // // 清除可能的缓存 // wxPano = null; // // 重新初始化 // setTimeout(() => { // this.initPanoPlugin(); // }, 1000); // }, // // 重置视角 // resetView() { // if (!this.pluginReady || !wxPano || typeof wxPano.setCameraLookAt !== 'function') { // uni.showToast({ // title: '插件未就绪', // icon: 'none' // }); // return; // } // try { // wxPano.setCameraLookAt({ x: 0.5, y: 0.5 }); // } catch (error) { // console.error('重置视角失败:', error); // } // } // }, // onUnload() { // // 清理资源 // if (wxPano && typeof wxPano.destroy === 'function') { // wxPano.destroy(); // } // wxPano = null; // } }; </script> <style scoped> .pano-container { width: 100vw; height: 100vh; position: relative; overflow: hidden; } .loading-overlay { position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: #000; display: flex; justify-content: center; align-items: center; z-index: 1000; } .loading-content { display: flex; flex-direction: column; align-items: center; padding: 40rpx; } .loading-spinner { width: 80rpx; height: 80rpx; border: 8rpx solid rgba(255, 255, 255, 0.1); border-top: 8rpx solid #00b4ff; border-radius: 50%; animation: spin 1s linear infinite; margin-bottom: 40rpx; } @keyframes spin { 0% { transform: rotate(0deg); } 100% { transform: rotate(360deg); } } .loading-text { color: #fff; font-size: 32rpx; margin-bottom: 20rpx; text-align: center; } .debug-info { color: #ff9900; font-size: 24rpx; margin: 20rpx 0; background: rgba(0, 0, 0, 0.5); padding: 10rpx 20rpx; border-radius: 10rpx; } .retry-btn { background: #00b4ff; color: white; border: none; border-radius: 40rpx; padding: 20rpx 40rpx; font-size: 28rpx; margin-top: 40rpx; } .debug-panel { position: absolute; top: 100rpx; left: 20rpx; background: rgba(0, 0, 0, 0.7); color: white; padding: 20rpx; border-radius: 10rpx; font-size: 24rpx; z-index: 1001; display: flex; flex-direction: column; gap: 10rpx; } .debug-panel button { background: #ff9900; color: white; border: none; border-radius: 20rpx; padding: 10rpx 20rpx; font-size: 24rpx; margin-top: 10rpx; } .pano-wrapper { width: 100%; height: 100%; background: #000; } </style>
我们目前需要将设备故障信息推送至小程序通知用户,设备消息通过 [代码]sendHardwareDeviceMessage[代码] 接口发送。 该接口请求参数中的 [代码]sn[代码] 是不是需要通过自有 IoT 平台完成注册绑定到微信平台 ?具体这部分如何接入 如果设备 未通过自有 IoT 平台完成注册或绑定,在推送消息时将会报错: 订阅 model_id 和 SN 关系校验失败,请确认发送消息时传入的 model_id 和 SN 与订阅时传入的是否一致。
问题1:我把非品牌类商品下架可以继续经营吗?还是增加经营类目就可以? 问题2:需要把非品牌类的商品挂到我方微信小程序?还是供应商的微信小程序?
https://developers.weixin.qq.com/miniprogram/dev/devtools/compilets.htmlhttps://developers.weixin.qq.com/miniprogram/dev/reference/wxs/05statement.html复制 微信小程序Canvas文档不清晰,缺少新版文档,微信小程序API文档与Typescript 支持不同步,缺失很多!
bb-plugin 小程序开通B2B门店后 前端引导客户做门店认证,客户认证成功或失败的结果如何及时获取到,要传递给后端做数据标记啊,(测试过认证成功后台消息渠道也没有推送) 公司业务要对不同客户走不同的业务逻辑
小程序端授权"总是选择" 也勾选了,一个小程序企业服务目录为工具 > 健康管理 工具 > 视频客服 资讯 > 信息资讯 工具 > 备忘录 工具 > 办公,消息模版是一次性的,是只要勾选了,可以多次推送消息,另一个小程序企业服务目录为商业服务 > 企业管理,这个推送消息就是不行的,是这个服务目录的问题吗,如果服务目录不好变更是否有其它办法可以解决的。
[图片]
wxsdk getLocation 的type参数不生效的问题。下面是业务代码 // 同时获取用户位置和地点位置 const [userLocation, userLocationGcj02, browserLocation, placeLocation] = await Promise.all([ getUserLocationByWxSdk('wgs84'), getUserLocationByWxSdk(), getLocationByBrowser(), getPlaceLocationByPlaceId(placeId), ]); const isRange = isWithinRange(userLocation, placeLocation, 1000); const distance = calculateDistance(userLocation, placeLocation); // ===============test const distanceWgs84 = calculateDistance(browserLocation, placeLocation); const distanceGcj02 = calculateDistance(userLocationGcj02, placeLocation); const wgs84ToGcj02 = gcoord.transform( [userLocation.latitude, userLocation.longitude], gcoord.WGS84, gcoord.GCJ02 ); const test2 = gcoord.transform( [userLocationGcj02.latitude, userLocationGcj02.longitude], gcoord.WGS84, gcoord.GCJ02 ); uni.showModal({ title: '提示', content: ` WX-SDK(wgs84):${userLocation.latitude},${userLocation.longitude}\n WX-SDK(gcj02):${userLocationGcj02.latitude},${userLocationGcj02.longitude}\n 浏览器定位位置(wgs84):${browserLocation.latitude},${browserLocation.longitude}\n 当前设施位置:${placeLocation.latitude},${placeLocation.longitude}\n 距离设施(WX-SDK wgs84):${distance}米\n 距离设施(WX-SDK gcj02):${distanceGcj02}米\n 距离设施(浏览器):${distanceWgs84}米\n ------------- wgs84ToGcj02:${wgs84ToGcj02}\n test2:${test2}\n `, showCancel: true, }); 真机生产数据。那wsg84和gcj02怎么就一样了呢????? [图片] 封装Wxsdk的方法 /** * H5通过微信JDK获取用户位置 * @param type 位置类型 gcj02/wgs84 默认gcj02 * @returns 用户位置 */ export const getUserLocationByWxSdk = async ( type: 'gcj02' | 'wgs84' = 'gcj02' ): Promise<GeoPosition> => { if (!navigator.geolocation) { uni.showToast({ title: '您的设备不支持定位功能', icon: 'none', }); return { latitude: 0, longitude: 0 }; } try { const location = await new Promise<GeoPosition>((resolve, reject) => { //@ts-ignore wx.getLocation({ type, isHighAccuracy: true, success: (res: any) => { const { latitude, longitude, accuracy } = res; resolve({ latitude, longitude, accuracy, type }); }, fail: reject, }); }); return location; } catch (err) { console.error('获取位置失败:', err); uni.showToast({ title: '获取位置失败', icon: 'none', }); return { latitude: 0, longitude: 0, accuracy: 0, type: 'gcj02' }; } }
https://mtxdj.cn 微信内打开提示无法确认网页安全性,影响用户使用,网站已备案,无违规内容,请帮忙恢复访问,谢谢[图片][图片][图片]
刚刚上线成功的小程序怎么限制 小程序跳转功能了? 我这个小程序也不涉及商家自营商品功能,可能是我类目设置错了已经修改过了,请求官方处理一下 AppID(小程序ID) wxd1048875d88f2c61 原始ID gh_211412584210 [图片]
微信公众平台关联不了公众号 [图片]
新的体验版1.0.1已经放开了可编辑的所有功能,没有限制任何实质业务,为什么1.0.1这个版本还是审核不过?而且在提审材料中写清楚了文字说明,也加了录屏。主营业务也改成了推广与公关,也具备名片展示功能和完整的用户交互路径,例如员工信息展示、联系方式跳转等实质性服务 [图片]
我运营的公众号文章所有的内容都是根据我们公司自己生产的信息得出来的,从24年就开始一直在发,一直加原创都没问题。就最近1个月天天被人恶意举报非原创导致原创功能都受限了,关键是我提交申诉证据也是能通过审核给我恢复原创的,但是这样就把我写的文章弄得一天原创一天非原创的,严重影响我们公司的正常运营了,请问这种情况该怎么解决呢?能不能优化一下审核机制啊!实在没办法我们就只有换平台了。[图片][图片]
通过扩展库的方式引入WeUI组件库,使用mp-loading组件时,不显示loading效果。之前好好的,最近突然不显示加载中loading效果。控制台显示该组件引用的图标资源不存在,导致渲染失败。 type设置的circle。 控制台输出: [渲染层网络层错误] Failed to load local image resource /_assets/loading-icon.1d274d77.svg the server responded with a status of 500 (HTTP/1.1 500 Internal Server Error) 控制台异常截图 [图片]
小程序主体变更,在授权认证阶段,目标主体法定代表人扫码验证提示“你好,工商数据返回:“企业信息或法定代表人信息不一致”。法定代表人验证失败。” 确认相关信息填写没问题,法人证书信息变更也已经有几个月了。 [图片]