官方文档 必读
注意点
- 如果要使用taro-ui,请务必保持设计稿尺寸(designWidth)与taro ui保持一致:750
- taro 组件与小程序代码混写taro 官方示例
自定义组件 class、function 均可。有时需要配置可以使用外部样式
static options = {addGlobalClass: true}TestComponent.options = {addGlobalClass: true}
taro 跨平台开发
跨平台开发:主要就是根据运行环境加载不同代码 process.env.TARO_ENV打包命令配置
通过 NODE_ENV 参数配置加载文件,主要是请求地址;
dev开发(watch)时文件不压缩,文件可能回过大,上传会失败,提交测试时使用build命令。"buildtest:weapp": "cross-env NODE_ENV=development taro build --type weapp""build:weapp": "taro build --type weapp""dev:weapp": "npm run build:weapp -- --watch",
- token 存在的问题:
由于没有登录页面,token过期时目前采用的是 relauch 页面的形式,用户会有清晰感知。当前只是把token再页面onShow时重新获取,暂未解决token失效时页面刷新的问题
token 问题后续更新: token问题后期采用 Promise 与callback 数组结合的方式,将失效请求缓存,调用登录接口成功后再回调,详见 promise 与await
跳转页面入口问题,推荐采用统一入口,在统一入口中再细分职能,方便后续维护(增加埋点等操作)
- request 必须封装、README 操作说明等。
防止样式冲突,强烈推荐使用css-modules, h5能有效防止样式覆盖
taro css-modules微信小程序相关
获取用户信息
获取用户信息必须使用button微信小程序 button 弹出授权
注意事项
wx.authorize({scope: "scope.userInfo"}),不会弹出授权窗口,请使用<button open-type="getUserInfo"/>- 需要授权
scope.userLocation、scope.userLocationBackground时必须配置地理位置用途说明。// open-type getUserInfo getPhoneNumber// 授权之后 可以通过api获取用户信息(加密)// session-key 失效市不能解析正确信息,需重新调用wx.login 到后台更新session-key,之后再重新解密信息wx.getUserInfo({success: function(result) {getUserInfo(result)}})
获取手机号
在回调中调用 wx.login 登录,可能会刷新登录态。此时服务器使用 code 换取的 sessionKey 不是加密时使用的 sessionKey,导致解密失败。建议开发者提前进行login;或者在回调中先使用checkSession进行登录态检查,避免login刷新登录态。<button open-type="getPhoneNumber" bindgetphonenumber="getPhoneNumber"></button>
填坑总结


