个人案例
- 自助心理成长
自助心理成长
自助心理成长扫码体验
- Woop
当你拖延时,来做一个Woop吧
WOOP大法好:克服拖延症,实现目标扫码体验
- PublicLibrary
借书小程序,互相分享图书信息~
PublicLibray扫码体验
- 小程序私密消息:authPrivateMessage验证,valid总是false,多手机结果不一致
依照文档实现私密消息:https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/share/private-message.html 云函数+云调用云端代码片段: async function createActivityId (event){ try { const result = await cloud.openapi.updatableMessage.createActivityId({ openid: cloud.getWXContext().OPENID }) // result 结构 // { errCode: 0, errMsg: 'openapi.templateMessage.send:ok' } return result } catch (err) { // 错误处理 // err.errCode !== 0 throw err } } 云函数日志: [图片] 2. 页面onLoad中获取activityId,并updateShareMenu onLoad: function (options) { this.setShareTicket() }, setShareTicket: async function () { const activityId = await createActivityId() console.log(activityId) if (activityId) { wx.updateShareMenu({ withShareTicket: true, isPrivateMessage: true, activityId: activityId }) } }, onShareAppMessage() { const { openId, userInfo } = this.data return { title: userInfo.nickName, imageUrl: '/images/wx_share.jpeg', path: `/pages/other/index?openId=${openId}` } }, wx.updateShareMenu({ withShareTicket: true, isPrivateMessage: true, activityId: 'xxx', }) 3.app.js的onShow中authPrivateMessage App({ globalData: {}, onLaunch(options) { if (!wx.cloud) { console.error('请使用 2.2.3 或以上的基础库以使用云能力') } else { wx.cloud.init({ env: 'prod', traceUser: true, }) } }, onShow(options) { const { shareTicket,referrerInfo } = options console.log(shareTicket,referrerInfo) if(shareTicket){ this.authPrivate(shareTicket) } }, authPrivate:function(shareTicket,callback){ wx.authPrivateMessage({ shareTicket: shareTicket, success(res) { console.log('authPrivateMessage success', res) // res // { // errMsg: 'authPrivateMessage:ok' // valid: true // iv: 'xxxx', // encryptedData: 'xxxxxx' // } }, fail(res) { console.log('authPrivateMessage fail', res) } }) } }) 4.分别在Android和IOS测试 Android结果: authPrivateMessage success Object { encryptedData: "<Undefined>" errMsg: "authPrivateMessage:ok" iv: "<Undefined>" valid: false } IOS结果: authPrivateMessage fail Object { errMsg: "authPrivateMessage:fail data unknow error code" err_code: "1" } Android system info: System: Android 9, WeChat 8.0.1.1841 Network: wifi UA: Mozilla/5.0 (Linux; Android 9; HWI-AL00 Build/HUAWEIHWI-AL00; wv) AppleWebKit/537.36 (KHTML, like Gecko) Version/4.0 Chrome/78.0.3904.62 XWEB/2759 MMWEBSDK/201201 Mobile Safari/537.36 MMWEBID/2806 MicroMessenger/8.0.1.1841(0x2800015D) Process/appbrand0 WeChat/arm64 Weixin NetType/WIFI Language/zh_CN ABI/arm64 MiniProgramEnv/android WeChatLib: 2.16.0 (2021.3.10 13:24:55) Android 关于手机 [图片] IOS system info:(无法复制,就用图片吧) [图片]
2021-03-11 - 小程序云开发数据库唯一key组合
- 组合(联合约束)唯一索引 场景如下: collection ref_user_group { userId:'', groupId:'' } user和group是多对多的关系,ref_user_group为user和group的关系表。 所以userId不唯一;groupId不唯一;userId和groupId一起是唯一的。不是且的关系,是或的关系。 目前遇到并发问题,希望数据库这边能有个限制。谢谢
2018-12-04 - 云开发 服务端callFunction 耗时几百毫秒
- 当前 Bug 的表现(可附上截图) 在服务端, 远程函数A 调用远程函数B,C。 通过控制台查看耗时,A> B+C ,差很多。通过在代码开始和结尾打出Date.now(),发现A callFuntion B 的过程耗时太多,几百毫秒。 - 预期表现 a. 提升callFuntion的性能,减少耗时到100ms以内? b.或者,提供一个类似像组件一样代码之间的调用,而不是远程函数的方式,去写 B 和 C。因为B 和 C可能是基础功能,会被复用,所以将B 和 C 直接写在A中也不合适,如果要改就要改很多地方。 - 复现路径 - 提供一个最简复现 Demo A: exports.main = function(){ await cloud.callFunction('B'); await cloud.callFunction('C'); }
2018-11-30 - 云开发,希望数据库提供更多的API
- 搜索数据库 - where 模糊匹配查询(like) where 字段间或关系查询(where a='a' or b = 'b') ……待添加 谢谢!
2018-08-30