- 关于uniapp如何使用日志监控API
微信小程序中提供了日志的监控api,鉴于uniapp去进行开发微信小程序下,uniapp还未兼容wx.getRealtimeLogManager()此API,所以写下使用的方式在uniapp下也可以使用日志打印到小程序管理后台中。步骤一:创建log.js文件 内容如下: var log = wx.getRealtimeLogManager ? wx.getRealtimeLogManager() : null module.exports = { debug() { if (!log) return log.debug.apply(log, arguments) }, info() { if (!log) return log.info.apply(log, arguments) }, warn() { if (!log) return log.warn.apply(log, arguments) }, error() { if (!log) return log.error.apply(log, arguments) }, setFilterMsg(msg) { // 从基础库2.7.3开始支持 if (!log || !log.setFilterMsg) return if (typeof msg !== 'string') return log.setFilterMsg(msg) } } 第二步:页面引用 [图片] 第三步:调用方式 [图片] 第四步:效果展示 [图片] ps:替换完成后需要使用log.info 或warn error等方式去进行插入,具体的方式写在log.js中封装的情况 具体接口文档链接:API文档:https://developers.weixin.qq.com/miniprogram/dev/api/base/debug/wx.getRealtimeLogManager.html 日志监控文档:https://developers.weixin.qq.com/miniprogram/dev/framework/realtimelog/
2022-04-01 - 为什么我的小程序发送给朋友/复制链接是灰色的?
[图片]
2022-03-24 - 小程序复制链接怎么开启呢?
[图片]
2023-03-06 - 用户通过小程序添加企业微信好友,怎么实现?
请问小程序是否支持在微信小游戏内跳转添加企业微信的好友呢?如何实现?
2021-03-04 - IntersectionObserver无法监听到动态生成的元素
- 当前 Bug 的表现(可附上截图) - 预期表现 - 复现路径 - 提供一个最简复现 Demo 如题,IntersectionObserver只能监听到onready时页面上已经渲染的元素,动态加载的元素 监听不到。 求解??
2019-03-14 - createIntersectionObserver如何监听到动态生成的元素?
createIntersectionObserver只能监听到onLoad时页面上已经渲染的元素,动态加载的元素 监听不到。求解??
2020-05-07 - 动态加载数据时创建IntersectionObserver的问题
1,数据分页加载,第一次进入时候加载10个 2,循环给这10个元素创建IntersectionObserver观察器,wx.createIntersectionObserver().relativeToViewport({ bottom: 20 }) 3,触底之后动再添加10条数据,重新setData,再给这20个元素创建IntersectionObserver观察器 问题描述: 1,最开始的10个元素能正常观察,但是后面添加的元素只有第一个能够观察成功 2,将relativeToViewport({ bottom: 20 })中的bottom值增大,则后续添加的10个元素中能够观察成功的元素个数也会增加, 小程序文档中的关于relativeToViewport的介绍“指定页面显示区域作为参照区域”,这个指定页面显示区域到底是什么?是一个什么机制? 为什么触底分页请求到数据后创建观察不生效?
2019-04-24 - requestSubscribeMessage 无法调用?
在界面上放置一个按钮,用于获取授权推送消息 <button bindtouchend="authMsg">授权金叶医生推送消息</button> 事件中是这么写得 [代码]authMsg(event) {[代码] [代码]wx.requestSubscribeMessage({[代码] [代码]tmplIds: [[代码][代码]'bPJUjgxTYg9yN3fn2tg4PaStW1I--DiZ7rr7KU8LQLo'[代码][代码]],[代码] [代码]success: [代码][代码]function[代码] [代码](res) {[代码] [代码] console.log(res)[代码] [代码]},[代码] [代码]fail: [代码][代码]function[代码] [代码](err) {[代码] [代码] console.log(err)[代码] [代码]}[代码] [代码]})[代码] [代码]},[代码] 但是提示错误 errMsg: "requestSubscribeMessage:fail can only be invoked by user TAP gesture." 这是为什么???
2019-10-25 - 微信小程序消息推送的服务器地址需要不停在测试服地址和正式服地址间切换怎么办
- 需求的场景描述(希望解决的问题) 开发的时候因为需求的原因消息推送的服务器地址需要不停在测试服地址和正式服地址间进行切换,可是可修改次数只有三次 - 希望提供的能力 提供一个测试用的消息推送服务器地址
2019-04-18 - 订阅消息如果选择选择‘总是保持以上选择,"不再询问"后的设置问题
目前是选择‘总是保持以上选择,"不再询问"后,可以在设置中开启或拒绝接收,但不会再次拉起授权弹窗
2019-10-18 - 小程序体验版和线上版本storage 共享问题
- 需求的场景描述(希望解决的问题) 小程序体验版和线上版本共用一套storage - 希望提供的能力 希望能分开存储
2018-09-07 - 小程序真机测试是否无法通过charles或fiddler抓包?
原本在测试的过程中都是可以通过代理抓包,拿到参数。但是昨晚(2021.12.22)上线后进行测试的时候发现无法抓包了,唯一能看到的请求只有域名带有“qcloud”的,而且状态都是503。看了下开放社区的帖子,似乎今年陆续有人发帖提出过相关问题,但是又没有看到微信官方声明的小程序禁止抓包。所以想问下各位,目前小程序都还能抓包吗?如果不是用charles和fiddler的话,都是怎么抓的?
2021-12-23 - 使用小程序CI自动上传代码
前言 本文的应用场景主要以小程序为例,不过其他项目也可以参考前面ci/cd的配置自己定制。 为什么要做小程序的自动化? 主要目的有两个 去除开发和测试时的[代码]重复提交代码[代码]这个操作,提升开发体验 避免在小程序[代码]提审和上线[代码]时,由于人为操作的失误带来线上事故 在接入CI/CD前有遭遇哪些问题 开发体验差。每次修复完bug,都需要把小程序重新提到体验版,会经历以下步骤: 把自己的代码合并到测试分支,拉取别人代码合并 我们使用的是uni-app,需要执行run build的命令,再等待几十秒 打开另一个开发工具,找到编译好的目录,打开,再等待十几秒,填写小程序上传时的相关备注,上传完成 打开小程序后台管理的网页,将小程序体验版切换成自己的,再通知到测试 人为操作失误导致的事故。比如忘记拉取其他人代码就直接上传了体验版,或者弄错开发/生产的环境变量 每个人电脑上node_modules的依赖可能不一致。目前使用的是npm,且存在公司内部提供的一些工具包 每当有新人入职后,还需要把这一套开发/上线的重复流程给新人培训,避免不熟悉流程的情况下容易造成线上事故 我们产品共有8个小程序,这一套组合拳下来,直接占用开发人员半天的时间 接入了之后改善了哪些问题 开发体验。直接提交完代码就完事,自动编译多个版本的小程序。平均每个人每次节省了5分钟的时间,一天下来就是半个钟了 上线不背锅。无需再繁琐地检查上线流程,一键提审,再也不用担心把测试环境的代码提交到线上啦 创建一个简单的CI/CD流程 gitlab CI/CD的基本工作流程 注册一台runner机子,填入项目地址和令牌,就可以关联到对应的仓库 当你推送代码的时候,会检查项目下有没有[代码].gitlab-ci.yml[代码]文件 当存在[代码].gitlab-ci.yml[代码]文件时,会触发hooks在你当前runner机所处的位置,执行yml文件中描述的任务 注册一个runner机子 这里分开windows和linux两种版本,实际业务中都是放在linux服务器,windows版可以自己用来熟悉一下yml的一些命令和ci的代码测试 windows版 从刚刚设置的界面点到windows的安装 有几步需要注意的,我简单说下(其实文档里面都有描述就不再赘述了) 下载完之后,把那个.exe文件重命名为,[代码]gitlab-runner.exe[代码]方便后面跟着步骤操作 完成下载之后要注册才能开始使用 [图片] 开始注册 这里就是gitlab项目中cicd的一些配置,主要是令牌和url,后面注册的时候需要复制 [图片] 注册流程(https://docs.gitlab.com/runner/register/index.html#windows) 执行命令 ./gitlab-runner.exe register 填入复制的url和令牌 填入描述(备注一下机器的用途就行) 填入runner的tags,后续执行ci操作的时候会根据这个匹配 选择执行脚本的语言,这里选shell,后续有些shell命令相关操作 完成注册。这时候目录下会多一个config.toml文件。刷新gitlab后台会看到一台新的注册机子 [图片] 启动runner [代码].\gitlab-runner.exe run[代码],执行完后,刷新gitlab后台可以看到机器的小点变绿色了,代表机器在运行。 这时候只要配置了正确的yml文件,后续推送代码的时候,就会触发ci linux版 如果是Ubuntu系统[代码]dpkg -i gitlab-runner_.deb[代码],如果是CentOS执行[代码]rpm -i gitlab-runner_.rpm[代码] 开始注册,[代码]sudo gitlab-runner register[代码] 后面的填信息的步骤和windows的是一致的 创建一个.gitlab-ci.yml文件 windows版 一些步骤直接写在代码的注释中。如果想运行简单的示例,直接把涉及到的业务分支名称和脚本删除即可 [代码]# 小程序ci配置,后续上线流程有改动的话,注意重新检查这里的流程 image: node:latest # 这里是步骤流程,可以自定义顺序 stages: - build - test cache: paths: - node_modules/ # 执行安装依赖的任务 install_job: # 这里是第一个流程build,目前只有一个并行任务 stage: build script: - npm --registry https://registry.npm.taobao.org install # 这个对应的是刚刚注册的runner的名字,这个非常重要,决定了你是否能启用某个runner机子 tags: - test_ci # 这里是触发的限制 only: # 这个是限制的分支,这里表示只有在这三个分支推送时,才会触发cicd refs: - develop - release - master # 这个是触发的变量,gitlab的默认变量可以去gitlab-cicd的文档中去找 variables: # 这里代表commit的备注中,存在cicd这几个关键词时,才会触发 - $CI_COMMIT_TITLE =~ /cicd/ # master分支 # 执行编译和上传的任务 master_job: # 这里是第二个流程build,相同的流程可以并行执行。可并行的任务数量需要设置 stage: test # 项目中小程序编译和上传代码的相关命令,这些就是之前重复的步骤,现在全部在脚本中自动实现 script: # 编译打包小程序代码 - npm run build # 将打包好的代码上传到对应的小程序,这里可以接小程序官方文档提供的api - npm run upload tags: - test_ci only: refs: - master variables: - $CI_COMMIT_TITLE =~ /cicd/ [代码] 在小程序中实现CI自动上传/预览代码 密钥及 IP 白名单配置 使用 miniprogram-ci前应访问"微信公众平台-开发-开发设置"后下载代码上传密钥,并配置 IP 白名单 开发者可选择打开 IP 白名单,打开后只有白名单中的 IP 才能调用相关接口 [图片] 安装小程序ci的依赖包,npm install miniprogram-ci --save 将下载好的秘钥放到安全的目录 [图片] 编写小程序ci的脚本 小程序ci开发文档 如果涉及到第三方小程序,需注意把[代码]extEnable[代码]这个字段设为false,这个官方文档中无提及,这个坑我踩了一波 在package.json中定义脚本入口 这里就是对应之前在gitlab-cicd.yml中定义的script [代码]"upload": "cross-env NODE_ENV=development node ./script/ci/uploadCode.js" [代码] 参考 https://docs.gitlab.com/ee/ gitlab的官方文档 https://developers.weixin.qq.com/miniprogram/dev/devtools/ci.html 小程序ci的官方文档
2021-09-28 - IOS调用wx.chooseVideo选择视频上传,在pc网页上面查看不了?
IOS选择视频文件然后上传,MOV格式的会自动转成MP4,然后在小程序上面是可以正常播放,在pc网页上面不能播放,只有声音。下载到电脑上打开显示[图片] 以前没有这个问题,是不是ios微信最新版本使用了H265编码,导致pc浏览器不支持。 在安卓不会出现这个问题。 请教一下有什么解决方式。
2020-01-06 - 体验版真机开启调试模式,vconsole能否加network项?
如题,小程序开发工具上有network很方便,在真机的调试模式下,能否加入network方便排查问题?vconsole在h5页面里是有network的。 [图片]
2021-07-05 - input聚焦弹起键盘, 导致自定义导航栏上移?
使用自定义导航, 聚焦input后键盘会把导航推上去, 如何处理让导航栏不动(同默认的导航栏一样)? 片段:https://developers.weixin.qq.com/s/CcpkRBmV7jpL 除了监听键盘高度, 自己去调整布局 没有其他方法了吗? 看到这个几年前的提问(https://developers.weixin.qq.com/community/develop/doc/000e4afcc080c0aadfa7a7e0251400?highLine=input%2520%25E4%25B8%258A%25E7%25A7%25BB) 里面也没有看到解决方法 --- 导航栏设置了fixed 照样被顶上去: https://developers.weixin.qq.com/s/kRzVVBmK7Bpz --- 整理了自己的解决方法 https://developers.weixin.qq.com/community/develop/article/doc/00002864144918ff850c9b81a51813
2021-04-23 - chooseMessageFile ios 无内容?
基础库版本:v2.17.0 微信版本:8.0.6 手机:iPhone 12 系统:ios14.4.2 代码片段:https://developers.weixin.qq.com/s/v5rrmLmH7pq9 这是 ios 端的表现: [图片] 这是 Android 的表现: [图片] iPhone 手机的对话框里就显示不出内容,实际上我是给他传过文件的 PS:使用预览功能测试的
2021-06-02 - 小程序分享文件给好友
- 需求的场景描述(希望解决的问题) 目前小程序已经开放了可以选择文件,虽然是从聊天记录中选择,部分用户会感觉困扰,但至少可用,为此API点赞。 然后就是下程序的文件只能进入,却不能输出,现在我们组做一个产品,选择一个文件,选择语言方向并翻译为目标语言,新生成的文件无法直接发送给微信或者保存到手机。 - 希望提供的能力 希望可以提供openDocument相反的接口,比如shareDocument,这样可以把文件输出到微信 希望小程序越来越完善。 have a nice day.
2019-06-24 - 小程序可以选择本地文件夹上传文件吗?这个接口开发出来了吗?
小程序可以选择本地文件夹上传文件吗 ? wx.chooseFile? 好几年了,这个接口什么时候开放?
2022-06-01