Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Feat dingtalk #4457

Closed
wants to merge 5,294 commits into from
Closed

Feat dingtalk #4457

wants to merge 5,294 commits into from

Conversation

angus1105
Copy link

这个 PR 做了什么? (简要描述所做更改)
增加了钉钉小程序的编译类型,增加了钉钉小程序的运行时框架,基本依赖于支付宝运行时框架
原因:支付宝小程序与钉钉小程序无法完全复用,钉钉方要求必须使用dd命名空间

这个 PR 是什么类型? (至少选择一个)

  • 错误修复(Bugfix) issue id #
  • 新功能(Feature)
  • 代码重构(Refactor)
  • TypeScript 类型定义修改(Typings)
  • 文档修改(Docs)
  • 代码风格更新(Code style update)
  • 其他,请描述(Other, please describe):

这个 PR 满足以下需求:

  • 提交到 master 分支
  • Commit 信息遵循 Angular Style Commit Message Conventions
  • 所有测试用例已经通过
  • 代码遵循相关包中的 .eslintrc, .tslintrc, .stylelintrc 所规定的规范
  • 在本地测试可用,不会影响到其它功能

这个 PR 涉及以下平台:

  • 微信小程序
  • 支付宝小程序
  • 百度小程序
  • 头条小程序
  • QQ 轻应用
  • 快应用平台(QuickApp)
  • Web 平台(H5)
  • 移动端(React-Native)
  • 钉钉小程序

其它需要 Reviewer 或社区知晓的内容:

  • taro-dingtalk: 由于钉钉小程序在开发上与支付宝小程序基本一致,不同的是API的命名空间不同,支付宝小程序为my,钉钉小程序为dd,所以taro-dingtalk运行时框架大部分代码直接复用taro-alipay,仅在需要使用自己命名空间的地方做了修改
  • taro-cli: 增加了dingtalk的编译类型
  • taro: 增加了 DINGTALK 的ENV_TYPE
  • transformer-wx: 只是增加了Adapter类型,和在生成插入propsManager时增加了判断,用于区分命名空间

Qiyu8 and others added 30 commits August 27, 2019 10:27
const staticOptions = ['externalClasses', 'relations', 'options']
* taroize#reconstruction Taroize微重构

* taroize#reconstruction Taroize微重构,增加参数类型
@broven
Copy link

broven commented Nov 12, 2019

后续阿里小程序会统一, 不过容器不同 各个小程序小程序还是会有差异的(命名空间 基础api支持程度, 特有api等), taro只对应一个type的话 就没有办法使用框架内提供的很多能力了, 比如上面提到的 多态引入, TARO_ENV环境变量(可以自己定义一个, 不过框架层有更好)

感觉可以考虑下 针对这种很相似的小程序 咱们如何支持

@angus1105
Copy link
Author

后续阿里小程序会统一, 不过容器不同 各个小程序小程序还是会有差异的(命名空间 基础api支持程度, 特有api等), taro只对应一个type的话 就没有办法使用框架内提供的很多能力了, 比如上面提到的 多态引入, TARO_ENV环境变量(可以自己定义一个, 不过框架层有更好)

感觉可以考虑下 针对这种很相似的小程序 咱们如何支持

其实如果支持自定义的type的话更好了,比如有时只想在自己App的内部小程序中使用

@raymond-liao
Copy link

请问有人使用 taro 开发了钉钉小程序吗?现在我遇到的问题是我需要获取用户信息,但是支付宝小程序的 API my.getOpenUserInfo 在钉钉小程序提示 Uncaught TypeError: my.getOpenUserInfo is not a function,不知道怎么判断当前的小程序是钉钉的还是支付宝的?

@broven
Copy link

broven commented Dec 25, 2019

@gaoshanyu 你自己加个环境变量, 代替Taro_ENV, 然后支付宝和钉钉分开构建类似
"dev:alipay": "export E=appx-alipay && npm run build:alipay -- --watch",
"dev:dingtalk": "export E=appx-dingtalk && npm run build:alipay -- --watch",

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.