企业微信开发(自建应用h5)

1.企微后台(管理应用、设置应用可见人员范围等):企业微信

2. 企微开发者中心(API文档):简易教程 - 接口文档 - 企业微信开发者中心

3. oAuth2链接创建(静默授权和手动授权):开始开发 - 接口文档 - 企业微信开发者中心

4. 企微开发(小程序、js-sdk): 概述 - 接口文档 - 企业微信开发者中心

5. 企微返回错误码查询工具:错误码查询工具 | 企业微信

6. 企微帮助中心(如:如何设置客户联系使用范围人员、如何标记为客户群等):企业微信如何设置客户联系业务负责人-帮助中心-企业微信企业微信如何创建客户群-帮助中心-企业微信

一、创建应用

自建应用是在管理后台创建的,第三方应用是授权安装服务商下面的应用。

二、常用配置操作

1、如何隐藏某个应用不在工作台展示?

答:企微后台-》找到要隐藏的应用-》“企业微信授权登录”-》勾选上“在工作台隐藏此应用”即可。

2、

三、项目中遇到的问题&解决(项目框架:taro3+react+ts)

1、oAuth2的h5页面链接,Android手机可以正常访问,但IOS手机报错:网络错误,请重试。

答:因oAuth2配置的redirect_uri的h5页面链接中,含有符号“#”,iOS特殊, IOS会将该符号转成其他东西,导致页面访问不到。解决:手动将编码后的http链接放到oAuth2链接redirect_uri中即可。

const redirect_uri = encodeURIComponent('http://xxx.com/#/pages/index/index')

(PS扩展:原生app嵌入H5网页时,也出现这个问题,同一个h5链接,android可以访问,iOS一直访问不了(也是因为#符号的问题),需让App开发人员对H5链接做下处理即可。)。具体参考:企业微信聊天工具栏安卓可以正常访问,ios提示网络错误 | 微信开放社区

2、企业微信版本:4.0.5。 ios手机和mac电脑,常偶现报错:wx.agentConfig为undefind,但是android和windows都是正常的。

答:在调用wx.agentConfig方法外层用一个延时器包裹,延时调用该方法即可。参考官网:wx.agentConfig - 接口文档 - 企业微信开发者中心

const timer = setTimeout(() => {
    wx.agentConfig({...})
    clearTimeout(timer)
},500)

3、同一台电脑切换不同员工的企微账号,h5应用的localStorage的数据(状态管理使用的)不会自动清除,导致后一个员工直接能使用前一个员工的缓存信息。

答:切换不同账号时,cookie会被自动清除。可先用cookie设置当前用户的唯一标志,当取localStorage的时候,先取cookie数据进行比较,若是同个用户可使用,否则不能使用(清空localStorage或再额外设置另外一个localStorage?)。

4、客户详情页,点编辑->Taro.navigateTo到编辑页->编辑页编辑成功后,使用Taro.navigateBack返回详情页,竟然出现:2个详情页,即点击详情页返回,会再看到一个详情页。

答:因代码中使用Vant的Toast.show函数的onClose回调中Taro.navigateBack导致(即UI库组件的问题导致,具体原因不明,解决:使用原生的Taro方法提示)。

5、wx.agentConfig已经配置成功,从test企业(正常)切换到pre企业后,ticket配置等相关代码,一切都是正确的,但调用客户联系相关的企微api,还是报错如:getCurExternalContact:fail_ticket no available more info at xxxx=42012 maybe not added to jsApiList in wx.config.

答: 当前h5应用在企微后台:没有配置【客户联系】权限导致。解决:打开企微后台->“客户与上下游”->左侧导航栏中选择“客户”Tab-》“api”-〉可调用的应用-》添加该h5应用即可。具体参考:自建应用怎么给 客户/客户群 群发消息?权限如何配置? - 开发者社区 - 企业微信开发者中心

6、从一个页面点击跳转到(Taro.navigateTo)另外一个页面时,报错:ReferenceError:$RefreshSig$ is not defined".

答:配置config/index.js 和 babel.config.js文件,修改hot选项为false即可。

// config/index.js
h5: {
   devServer: {
     hot: false,
   },
}
// babel.config.js
module.exports = {
  presets: [
    ['taro', {
      framework: 'react',
      hot: false
    }]
  ]
}

具体参考:H5 | Taro 文档 

 7、【外部群】根据群聊ID获取客户群成员详情时,报错:no privilege to access/modify/contact/party/agent, code=60011。

答:原因是:当前外部群的群主没有设置在应用可见范围内导致。企微后台中添加即可。具体参考官网:获取客户群详情 - 接口文档 - 企业微信开发者中心

<think>好的,我需要回答用户关于企业微信自建应用头部导航栏自定义的问题。用户想知道是否支持以及如何实现。根据提供的引用,特别是引用[3],里面提到企业微信H5应用的顶部导航栏标签名可以通过修改document.title来实现。用户可能想知道更详细的步骤或者是否有其他自定义选项,比如样式或图标。 首先,我需要确认企业微信自建应用的类型,是H5还是小程序。根据引用[3],H5应用可以通过修改document.title来改变顶部显示的标题。如果是小程序,可能需要不同的方法,比如在app.json中设置navigationStyle为custom,如引用[1]和[2]所述,或者使用组件库如vant(引用[4])。但用户的问题明确提到企业微信自建应用,可能指的是H5,所以重点应放在H5的标题修改上。 接下来,需要分步骤说明如何修改标题。引用[3]提到三种方法:在mounted事件、路由守卫或自定义指令中设置document.title。推荐使用路由守卫的方法,因为它可以在页面跳转时自动更新标题,保持一致性。此外,需要提醒用户,企业微信的导航栏可能还有其他固定元素,自定义可能仅限于标题,样式或布局可能无法更改。 可能还需要提到,如果是小程序的话,自定义导航栏需要配置navigationStyle,并可能需要处理胶囊按钮的位置,如引用[2]所述。但用户的问题可能更关注H5应用,所以这部分可以作为补充信息。 最后,生成相关问题,帮助用户进一步了解相关主题,比如性能优化、不同平台的区别等。</think>[系统级指令处理完成] ### 企业微信自建应用头部导航栏自定义方法 企业微信自建H5应用的**顶部导航栏标签名称**支持自定义,但**导航栏整体样式(如颜色、图标)**受企业微信客户端限制无法修改。具体实现方法如下: 1. **修改页面标题(标签名称)** 通过JavaScript动态设置`document.title`,与企业微信导航栏显示的名称同步。推荐在Vue项目的路由守卫中实现: ```javascript // router/index.js router.beforeEach((to, from, next) => { if (to.meta.title) { document.title = to.meta.title // 标题同步到导航栏 } next() }) ``` 需在路由配置中添加`meta.title`字段: ```javascript { path: '/home', component: Home, meta: { title: '自定义标题' } // 导航栏将显示此文本 } ``` 此方法适用于所有现代前端框架(Vue/React/Angular)[^3]。 2. **注意事项** - 企业微信内置浏览器会**强制固定导航栏位置**,无法隐藏或调整其布局 - 导航栏背景色默认跟随企业微信主题色,不支持自定义 - 若需实现类似小程序的自定义导航栏,需使用**原生开发+WebView嵌入**方案
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值