微信开发 钉钉开发

2017-07-03 09:06:00 weixin_34250434 阅读数 186

20160425114613374.png

企业微信的能量大,发布之后,各种评测帖满天飞。一方面是用户好奇,企业微信喊了快半年了,这只靴子终于落地。另一方面也是期待,如果能给企业市场带来活力,激发新鲜刺激点,也是一件好事。

可是,使用之后,“不过尔尔”。

鉴于企业微信刚刚发布,所以这次以它的体验为主,用阿里的钉钉和用友超客的企业空间作为对比。毕竟,有比较才能看出优劣。同时,后两家产品有一定的知名度、定位清晰、产品也较为成熟。

本文分为以下5个章节:第一感觉、产品布局、差异化亮点、疯狂吐槽、总结和建议。

1.第一感觉

20160425114613362.jpg

企业微信个人的第一感觉特别糟心。不少人反映,下载了,用微信登陆了,找不到企业,没有任何提示,只好删除。

典型的企业微信界面

钉钉和企业空间的进入方式简单,只要用手机号就能进入,后台自行设置企业。不像企业微信非要人工审核(难道是机器)营业执照,一点都不人性。难道企业微信要做一个很大的局?难道以后也要有支付功能,怕公司赖账?

这一点没啥可比较的,不用多说。

2.产品布局

布局中,企业微信最简洁。菜单栏只有三个:消息、通讯录和我。消息是一个大杂烩,通讯录按照企业架构排列的,“我”这个菜单下有设置、收藏和工作台功能。

简评:这是借鉴了微信的菜单布局,精简了“发现”功能,也就是删除了朋友圈、购物和游戏等个人应用。

钉钉有5个菜单:消息、DING、工作、联系人、我的。对比,这个DING主要用来回执,也能发起群组、聊天的功能,繁琐。工作台是应用的平台,有公告、日志、签到、钉邮、管理日志和电话会议等。联系人也是按照群组和企业架构划分。“我的”也是属性设置。

20160425114613543.jpg

  钉钉的工作台

简评:设置麻烦,不够简洁。

企业空间也是5个菜单:首页、消息、应用、联系人和我。这里重点说首页,其他几个和钉钉功能类似。首页是瀑布流的方式,像企业微博,这是和其他几个产品最大的不同,也是最大的亮点。可以进入不同的空间看到不同的信息流,这恐怕也是这个产品名字的由来。

20160425114613604.jpg

  企业空间的多组织架构

简评:可以更简单一点,否则会晕。

3.差异化亮点

企业微信有几个好玩的应用,当然别人家也有,不过在这种设置下,更显得简单易用。

加入新人可以回顾历史消息,这个功能好,免得车轱辘话来回说。

回执功能丧心病狂。还能假装看不到消息?明明提示你看了。看了就要回答啊,表态啊,不说话你啥意思?忘记了?那是你的事情。这和钉钉的DING一下、企业空间的微邮功能相似,老板最爱。

20160425114613395.jpg

查看回执消息,还能看到多少人阅读,多少人未读。未读的人可以随时拉一个群组,这也够糟心的了,当然简单便捷,发消息人喜欢。

20160425114613645.jpg

  好玩的群组模式

时间提醒也是有一个有趣的功能。发布一条消息,晚上20点准时参加会议。到了时间,自动提醒。这也是老板们喜欢的功能。

20160425114614997.jpg

其他定位打卡、考勤、请假、报销功能just so so,没有特别的亮点。尤其是请假和报销,如果日后接入了企业的OA,可能还能进入信息流,否则只是一个凭证。

企业空间典型的界面

点评:小功能突出,然并卵。钉钉和企业空间都有这样的功能,企业微信的功能优势不突出,体验超好。

4.疯狂吐槽

以下进入疯狂吐槽模式。

吐槽企业微信的华而不实。比如,“休息一下”这个功能,鸡肋。本来这就是工作App,你还想休息一下,装鸵鸟啊?休息一下和个人微信有何区别?还要“下班了”功能,开发人员不懂现在工作和生活不分吗,你非要利用这个功能,有事情还不是一样电话追过来?

据说,企业微信还有一个小心思。它的通话时长按照企业为单位的,而不是以人头为单位的。如果同样都是600分钟,钉钉和企业空间厚道多了。你骗谁啊。

吐槽钉钉,就是过于显摆功能,布局有问题。比如澡堂模式(阅后即焚),但是位置没有放好,看着碍眼。同样DING和消息的功能重合,一个信息出现在两个界面,不如合并。

20160425114614855.jpg

  这个功能建议取消啊

据说传文件特慢,后台难道不是用的阿里云吗?

产品要做减法,不要做加法了,现在越来越臃肿,功能越来越多,求求你再梳理一下,把该做的都放到“工作”平台中,成为第三方好不好?

吐槽企业空间。

界面太朴素了,难道优秀的美工都被挖到企业微信了?最大优势的是多空间的概念,为什么不能让用户简单易用找到这个功能,自由切换?

5.总结和建议

通过几天深度使用,结论很明显了。

企业微信界面小清新,方便使用,这是最大优势。其他功能和其他两个厂商相比较,并不突出,甚至还有劣势。

企业安装这类B端的软件用来解决问题,不是用来装门面、社交把妹的。没有对流程的深入理解,就算让有钱的Pony再加大投资有什么用?

钉钉不用担心,以后的路还长着呢,只有深入理解用户的场景,做减法做减法做减法做减法做减法提升体验提升体验提升体验提升体验提升体验才能胜出。广告牌再多再刷李开复老师的脸也不管用啊,主打免费电话有什么用,谁现在还在乎通信?

20160425114614774.jpg

  钉钉的界面

企业空间握了一手好牌,这么好的概念,要在体验中多下点功夫,这个市场就是你的了。当然你主要打中大型企业,但体验一定要提升啊。要知道,多空间形态是你们家独有的优势,加上开放平台的能力,那么多潜在用户的优势,这些都是你们的优势。体验体验体验,重要的事情说三遍。

20160425114614771.jpg

  具有优势的企业空间开放平台

结论。从功能上看,这几家大同小异,企业微信只有体验亮点,没有大的改观。同质化的下一步会怎么样,杀手级的应用会不会产生,相互之间会不会借鉴?这都值得期待。



本文转自d1net(转载)

2018-09-13 22:34:05 liuade 阅读数 2267

我们做药店行业的CRM软件,最近用到角色管理,需要用到企业微信和钉钉的角色/权限接口,站在码农角度思考了一下他们各自的设计

企业微信中叫标签钉钉里叫角色。从名字就能看出来他们定位不太一样。
标签更随意一些,可以是职位也可以是人的特点,比如“产品经理”,“爱吃水果”
角色一般和权限有关,指职位或职责

钉钉里角色和后台管理权限是在一块的,感觉有两个问题:
钉钉的角色一般在各种流程审批中用到,但后台管理权限一般不参与审批。
自建应用在编辑角色时,会呈现后台管理的角色,这些没必要呈现给业务人员。

企业微信的后台权限和标签是两个概念。

 

再说一下他们各自提供给第三方应用的接口
钉钉的角色接口权限需要审批,角色权限和通迅录管理权限是同一个,权限分读权限和写权限。限制较大,但较安全
企业微信默认有标签权限,但只能管理应用自建的标签。有个问题是不同的应用可能需要定义同一个标签。开放其他标签可读会更合理。

总的来说企业微信在角色/标签的设计上更合理一些
 

2017-12-13 15:33:37 u011994288 阅读数 9866

3.4.2 企业号与钉钉设置

3.4.2.1 微信企业号设置

基础设置

1 步:以下为微信企业号申请地址,填写相关的信息即可申请,未认证的账号,只有 50 人账号关注上限。

https://mp.weixin.qq.com/cgi-bin/readtemplate?t=register/step1_tmpl&lang=zh_CN

3.4-1

第 2 步:在浏览器中输入https://qy.weixin.qq.com/,使用微信上的"扫一"来扫描右侧的二维码进行验证登录

3.4-2

3 步:登录成功后在【设置】中"设置信息"页面下方找到【权限管理】,并点击进入权限管理界面

3.4-3

4 步:在"权限管理"界面左侧新建管理组,在【设置权限】界面中将【通讯录权限】设置为查看和管理。在【应用权限】中将【微信小助手】设置为发送权限

3.4-4

5 步:新建成功后会在页面下方会显示出 CorpID Secret 链接。将 CorpID Secret 复制到上方对应处,保存后点击界面中显示出的"测试链接"按钮,提示"连接成功"

3.4-5

6 步:连接成功后点击【组织架构初始化】中的【OA 组织架构同步到微信】按钮。初始化操作成功后,OA 中的组织机构就已同步到微信企业号平台【通讯录】中

3.4-6

7 步:返回到【设置】--【权限管理】中,点击【通讯录权限】的"修改"按钮。在"选择组织框架"中勾选上要添加的部门,并赋予【查看】和【管理】的权限

3.4-7

8 步:在上方【用户管理】中勾选要导入的人员,点击【导入选择的人员】,人员将会显示在微信平台通讯录中。

3.4-8

导入完成后,在【导入日志】中可以查看导入历史。导入的过程,会提成功、失败、忽略的人数。(注:要求导入的用户必须填写邮箱或者手机号!)

3.4-9

微信企业号应用设置

以下以电子邮件新建应用为例进行简单说明:

1 步:在微信企业号平台【应用中心】界面下的"我的应用"中,点击圆形添加按钮来创建【电子邮件】应用

3.4-10

2 步:点击创建好的【电子邮件】应用,在"可信域名"处按照格式填写域名。并在 "可见范围"中选择该应用的使用范围。

3.4-11

【电子邮件】应用中的"应用 ID"必须与 OA【电子邮件-基本信息】下的"应用 ID"相同。

3.4-12

第 3 步:【电子邮件】应用在"模式选择"时必须选择【回调模式】。开启回调模式后将界面上方(即 OA 系统->【企业微信设置】->【基础参数设置)的"URL"链接复制到【回调 URL 及密钥】下,并随机获取到"Token"和"EncodingAESKey"。获取到的"Token"和"EncodingAESKey"必须先粘贴到上方(即 OA 系统->【企业微信设置】->【基础参数设置)对应处保存之后,才能在微信平台中保存成功

3.4-13

第 4 步:将微信企业号平台获取到的"Token"和"EncodingAESKey"粘贴到 OA 中【电子邮件-基本信息】下保存。

3.4-14

5 步:回调模式配置成功后,进入【设置】中的【权限管理】界面,并选择进入已建立的【管理】管理组中。

3.4-15

6 步:点击【应用权限】的【修改】按钮,进入【设置应用权限】界面中,将创建好的【电子邮件】应用赋予【发消息】和【管理】的权限。

第 7 步:以上步骤完成后,请点击上方(即 OA 系统->【企业微信设置】->【基础参数设置)的【初始化菜单】按钮。已关注的人员会在微信中【电子邮件】界面左下角会显示出菜单切换按钮,点击切换后显示出"收件箱""发件箱""写邮件"菜单

3.4-16

3.4.2.2 钉钉设置

基础设置

1 步:将下方的链接在浏览器中打开,并注册钉钉企业号平台账号。

https://oa.dingtalk.com/register.html

3.4-17

2 步:在浏览器中输入

https://oa.dingtalk.com/?spm=a3140.8736650.2231602.10.MObkZO#/login

登录钉钉后台。

3.4-18

3 步:进入钉钉后台后,在【企业应用】->【工作台设置】界面,在"开发应用"处,点击"点击此处"链接进入钉钉开发者平台界面。

3.4-19

"钉钉开发者平台"界面可以开到"CorpID",在"CorpSecret 管理列表"点击"点击查看"可以获取到"CorpSecret"

3.4-20

CorpID CorpSecret 复制粘贴到 OA 系统->【微信企业号设置】->【基础参数设置】的对应处,保存后点击界面中显示出的"测试链接"按钮,提示"连接成功"

3.4-21

4 步:连接成功后点击【组织架构初始化】中的【OA 组织架构同步到钉钉】按钮。初始化操作成功后,OA 中的组织机构就已同步到钉钉企业号平台【通讯录】中

3.4-21

5 步:在上方【用户管理】中勾选要导入的人员,点击【导入选择的人员】,人员将会显示在钉钉企业平台通讯录中。(注:导入人员必须填写手机号!)

3.4-22

6 步:如先在钉钉中创建的人员,可在【钉钉账号绑定到 OA 用户】中与 OA 用户进行绑定。(注:在钉钉中创建的人员手机号码必须要与OA 中该人员的手机号码一致。)

3.4-23

7 步:绑定成功后的人员会在钉钉客户端上显示出第 2 "微应用显示名称"中填写企业名称。

3.4-24

钉钉应用设置

以下以电子邮件新建应用为例进行简单说明:

1 步:点击导航栏【微应用】下的【新增微应用】按钮。在"新增微应用"界面中填写内容。【后台地址】可不填写,【首页地址】需要先填写为

3.4-25

第 2 步:点击【微应用】下新增应用【电子邮件】的"设置"按钮,在电子邮件设置界面中,将获取到的【AgentID】粘贴到上方(即 OA 系统->【企业微信设置】->【基础参数设置界面)的【应用 ID】内,并点击【确定】按钮。在上方【应该 ID】保存成功后,把【首页地址】中的删除,将复制到OA系统->【企业微信设置】->【钉钉应用设置】->【电子邮件】界面的 URL 复制到【首页地址】中。

3.4-26

3.4.2.3 企业微信设置

基础设置

1 步:以下为企业微信号申请地址,填写相关信息即可申请成功。

https://work.weixin.qq.com/wework_admin/register_wx?from=myhome_baidu

3.4-27

2 步骤:在浏览器中输入

https://work.weixin.qq.com/wework_admin/loginpage_wx?from=myhome_baidu,使用微信上的"扫一扫"来扫描二维码进行验证登录企业微信后台。

3.4-28

3 步:企业微信后台登录成功后,在【我的企业】->【企业信息】中,将下方显示的 CorpID 复制到 OA 系统->【企业微信设置】->【基础参数设置】的对应处。

3.4-29

4 步:企业微信后台,在【管理工具】界面,点开【通讯录同步】,编辑权限设置为"编辑通讯录权限"保存,然后将 Secret 复制到 OA 系统->【企业微信设置】->【基础参数设置】的对应处,保存后点击界面中显示的"测试连接"按钮,提示"连接成功"

3.4-30

5 步:连接成功后,点击左侧菜单的【组织架构初始化】中的【OA组织架构同步到企业微讯】按钮。同步成功后,OA 中的组织机构及成员会同时同步到企业微信平台的【通讯录】中。

3.4-31

6 步:如果人员未同步成功,在 OA 系统->【企业微信设置】->【用户管理】中勾选要导入的人员,点击【导入选择的人员】按钮,人员将会成功导入,并显示在企业微信平台的通讯录中。(注:导入人员必须填手机号,否则导入不成功!)

3.4-32

导入完成后,在【导入日志】中可以查看导入历史。导入的过程,会提成功、失败、忽略的人数。(注:导入人员必须填手机号,否则导入不成功!)

3.4-33

7 步:针对未绑定的人员,在 OA 系统->【企业微信设置】->【微信账号绑定到 OA 用户】中可以进行绑定,同样也可以进行解绑。

3.4-34

企业微信应用设置

以下以电子邮件新建应用为例进行简单说明:

1 步:在企业微信后台,【企业应用】界面,点击"添加应用"按钮,创建【电子邮件】应用。

3.4-35

2 步:点击创建好的【电子邮件】应用,将"AgentId""Secret"分别复制到 OA 系统->【企业微信设置】->【电子邮件】界面的"应用 ID""Secret"之处。然后在"网页授权及 JS-SDK"项中设置可信域名,"可信域名"处按照格式填写域名。

   

3.4-36

3 步:企业微信后台,点击创建好的【电子邮件】应用,在"接收消息"项中,点击【设置】按钮,将 OA 系统->【企业微信设置】->【电子邮件】界面的"URL"链接复制到【接收消息】的设置中,并随机获取到"Token""EncodingAESKey" 先不执行"保存"操作,见"下一步"操作。

4 步:将上一步获取的"Token""EncodingAESKey"复制粘贴到 OA 系统->【企业微信设置】->【电子邮件】对应的"Token""EncodingAESKey"保存,然后点击"测试连接"按钮,此处的测试连接是为了验证 Secret 是否连接成功。连接成功后保存第 3 步骤的操作。注:如果在企业微信后台保存接收消息配置时,提示"回调 URL 校验失败",则多点几次保存按钮。

3.4-38

5 步:以上步骤完成后,在 OA 系统->【企业微信设置】->【电子邮件】界面请点【初始化菜单】按钮。已关注的人员会在微信中【电子邮件】界面左下角会显示出菜单切换按钮,点击切换后显示出"收件箱""发件箱""写邮件"菜单

3.4-39

2018-09-07 19:30:54 c_kite 阅读数 4917

微信

这里写图片描述

序言

由于微信分享比较严格, 因此需要准备认证公众号来获取分享权限.

前期准备工作

  1. 公众号设置 => 功能设置 => JS接口安全域名 (注: 该域名需要通过ICP备案, 配置完此项以开启在该域名下调用微信JS接口的能力)

  2. 基本设置 => IP白名单 (配置完此项以开启可以调用获取access_token接口的权限)

流程: 服务端配置

1 . 获取access_token, 通过公众号后台查看appid和appsecret, 通过该接口获取 (https请求方式 GET) https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET (具体返回内容https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421140183)

2 . 获取jsapi_ticket, 通过刚刚拿到的access_token 请求 https://api.weixin.qq.com/cgi-bin/ticket/getticket?access_token=ACCESS_TOKEN&type=jsapi , 返回内容如下

{
  "errcode":0,
  "errmsg":"ok",
  "ticket":"bxLdikRXVbTPdHSM05e5u5sUoXNKd8-41ZO3MhKoyN5OfkWITDGgnr2fwJ0m9E8NYzWKVZvdVtaUgWvsdshFKA",
  "expires_in":7200
}

3 . 生成js-sdk权限验证签名, 签名生成规则如下:参与签名的字段包括noncestr(随机字符串), 有效的jsapi_ticket, timestamp(时间戳), url(当前网页的URL,不包含#及其后面部分) 。对所有待签名参数按照字段名的ASCII 码从小到大排序(字典序)后,使用URL键值对的格式(即key1=value1&key2=value2…)拼接成字符串string1。这里需要注意的是所有参数名均为小写字符。对string1作sha1加密,字段名和字段值都采用原始值,不进行URL 转义. 注: 此逻辑必须在服务端实现.

例:

// 所生成的四项
noncestr=Wm3WZYTPz0wzccnW
jsapi_ticket=sM4AOVdWfPE4DxkXGEs8VMCPGGVi4C3VM0P37wVUCFvkVAy_90u5h9nbSlYy3-Sl-HhTdfl2fzFy1AOcHKP7qg
timestamp=1414587457
url=http://mp.weixin.qq.com?params=value
// 步骤1. 对所有待签名参数按照字段名的ASCII 码从小到大排序(字典序)后,使用URL键值对的格式(即key1=value1&key2=value2…)拼接成字符串string1:

jsapi_ticket=sM4AOVdWfPE4DxkXGEs8VMCPGGVi4C3VM0P37wVUCFvkVAy_90u5h9nbSlYy3-Sl-HhTdfl2fzFy1AOcHKP7qg&noncestr=Wm3WZYTPz0wzccnW&timestamp=1414587457&url=http://mp.weixin.qq.com?params=value
// 步骤2. 对string1进行sha1签名,得到signature:
// 对于Node可以直接使用jssha包进行开发, https://github.com/Caligatio/jsSHA

0f9de62fce790f9a083d5c99e95740ceb90c27ed

具体实现代码, http://demo.open.weixin.qq.com/jssdk/sample.zip

流程: 前端配置

  1. 引入JS文件 http://res.wx.qq.com/open/js/jweixin-1.4.0.js (当你看到这篇博文的时候有可能不是最新版的, 你可以在下面错误处理办法的那个链接里寻找最新版)

  2. wx.config 注入权限验证

  3. 如果是在页面加载时就要调用的接口, 需要写在wx.ready里, 当config验证成功之后便会调用, 如果是用户触发才调用的接口, 则可以直接调用.

其余接口以及错误处理办法: https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421141115

钉钉

这里写图片描述

钉钉这种卡片配置不需要调用api, 只需在html写上些许代码便可, 钉钉的卡片识别策略为: 基于Open Graph Data协议来识别当前网页内容, 如果该网页不支持OGP, 那么基于钉钉默认规则提取网页标题, 主图, 正文摘要, 注: 必须静态写在html中, 不支持js插入

// 例
<!-- Place this data between the <head> tags of your website -->
<title>Page Title. Maximum length 60-70 characters</title>
<meta name="description" content="Page description. No longer than 155 characters." />


<!-- Twitter Card data -->
<meta name="twitter:card" content="summary">
<meta name="twitter:site" content="@publisher_handle">
<meta name="twitter:title" content="Page Title">
<meta name="twitter:description" content="Page description less than 200 characters">
<meta name="twitter:creator" content="@author_handle">
<-- Twitter Summary card images must be at least 120x120px -->
<meta name="twitter:image" content="http://www.example.com/image.jpg">



<!-- Open Graph data -->
<meta property="og:title" content="Title Here" />
<meta property="og:type" content="article" />
<meta property="og:url" content="http://www.example.com/" />
<meta property="og:image" content="http://example.com/image.jpg" />
<meta property="og:description" content="Description Here" /> 
<meta property="og:site_name" content="Site Name, i.e. Moz" />
<meta property="fb:admins" content="Facebook numeric ID" />
2019-01-31 16:30:31 u013381271 阅读数 1181

我开发的这个插件地址如下:
官方注册地址:
http://www.redmine.org/plugins/redmine_work_wechat
代码库:
https://bitbucket.org/39648421/redmine_work_wechat

最近部署和安装全新的开发环境,安装时有一些备忘:
有些系统的环境没有curl底层支持库,比如linux下需要libcurl.so,则在启动服务时抛出异常:

/home/coding/.rvm/gems/ruby-2.2.10/gems/ffi-1.10.0/lib/ffi/library.rb:145:in `block in ffi_lib': Could not open library 'libcurl': libcurl: cannot open shared object file: No such file or directory. (LoadError)
Could not open library 'libcurl.so': libcurl.so: cannot open shared object file: No such file or directory.
Could not open library 'libcurl.so.4': libcurl.so.4: cannot open shared object file: No such file or directory

需要利用apt-get或yum安装一下软件包:
ubuntu下是:
sudo apt-get install libcurl4-openssl-dev