最近做了一个红包兑换小程序,遇到了一些问题这里做一下总结。
1、需求:回流用户在游戏客户端获取到口令,然后在小程序这边输入口令兑换红包,成功之后钱会发到用户微信账户里。
2、流程:若未授权,显示授权按钮。点击授权登录,授权成功后获取到私密字段iv和encryptedData,调取登陆接口,错误则提示相关信息,正确则跳转校验姓名和身份证的页面,校验通过就调取提现接口,成功则提示提现成功,同时显示生成分享图按钮。分享图由用户昵称,头像,二维码,提现金额等等组成。
3、框架:uniapp
Android学习内容还可以看我的GitHub链接:https://github.com/Meng997998/AndroidJX,看完顺便点一下star
分享图的问题
1、 measureText 获取宽度的时候,传入的参数如果是数字,则会返回0。
let money = 10; //这里需要把数字转成字符串
ctx.measureText(money).width;
2、绘制图片的时候不要忘了先使用 getImageInfo 转成临时地址,再 drawImage ,如果不经过这步,虽然开发者工具上看到是正常的,但是真机是显示不了。
3、需要绘制微信头像的时候,要在后台配置downloadFile合法域名 https://wx.qlogo.cn
4、最初背景图大概170KB,尺寸750*1334,最终绘制出来的分享图太大了。解决方法:
- 把背景图片尽量再压缩,最终是60多KB。
- 调 canvasToTempFilePath 的时候,设置 fileType 为jpg,quality范围是(0,1],取个合适的值。
5、小程序里面的保存图片并不是长按保存的,需要点击按钮授权。
<button open-type="getUserInfo" @getuserinfo="onGotUserInfo"></button>、