开发之前一定要作的几点
1.添加浙里办钉钉对接群 群 34143965(有什么不定的地方就大胆问群里的几个负责人)
2.问钉钉群里面得的老师要开发流程相关文件 和开发注意事项(浙里办适老化 对ui有一定要求,要支持正常模式和适老化模式切换功能,所以得有两套ui。)
3.叫业主部门将IRS-应用发布子系统开一个账 给前端(给你注册一个浙政钉账 ,属于业主政府部门下面),业主是irs主系统,开发商是子系统。
4.如果需要单点登录(一般都要)的话就要 在业主的irs系统 http://irs.zj.gov.cn/workbench/myresource/applicationsystem 上提交获取用户信息的工单
这时候要看你开发的h5是针对这里办 法人用户 还是 个人用户 申请对应的工单就行。这一步是要业主去操作(内 系统)。
6.在准备工作时就可以先进行代码开发(代码开发完成后再进行上线的相关配置)
7.一定要在 IRS-应用发布子系统 上开发,不要用政务中台,那个已经弃用了,到时候没人给你上线。
准备工作完成
开发正式开始
1.环境准备
1.引入JSBridge
在浙里办的微应用中,很多地方需要使用到浙里办的一些封装API功能,也就是JSBridge,且所有JSBridgeAPI均支持Promise回调
在public/index.html中引入
在App.vue中进行全局初始化
这样就可以使用这里办的一些api了,这些api只有在这里办专用的开发测试工具上和正式/测试环境才能使用
2.环境要求
开发商工作台支持基于类React语法的 Rax应用 和 自定义 两种方式完成应用代码开发。
我用的是vue(也就是自定义开发)
由于浙里办的微应用是必须前后端分离,且前端文件需要部署到浙里办服务器上的,所以需要前端项目支持 rpm run build 命令,所以不能使用 Hbuilder X直接构建项目,需要如下命令构建
3.更改打包目录
由于浙里办编译默认输出位置是build,但是uniapp的构建命令默认输出位置是dist;所以修改uniapp的构建命令输出位置,将pakeage.json中的scripts属性
由于前端项目部署在浙里办服务器上,所以还需要对manifest.json文件进行如下修改
2.单点登录
由于浙里办微应用需要对支付宝浙里办小程序与浙里办APP进行双端适配,而不同环境下的单点登录跳转链接也不同,所以需要进行应用环境的检测
1.判断当前是 浙里办App还是 支付宝浙里办小程序 从而进行不同的回调地址 登录
这里面的接入码是上面 准备工作4 提到的单点登录工单返回材料
AKey是接入码
SKey是接入密码
这里只用到了AKey
单点登录工单可以看我另一篇文章(等我更新)
回调地址是要业主在IRS上创建应用 并且上传代码后才能有
isLoad: () => {
if (bIsAlipayMini) {
window.location.href = “https://puser.zjzwfw.gov.cn/sso/alipay.doction=ssoLogin&servicecode=接入代码&goto=附带跳转地址,以sp参数返回”;
} else {
window.location.href = “https://puser.zjzwfw.gov.cn/sso/mobile.doction=oauth&scope=1&servicecode=接入代码&goto=附带跳转地址,以sp参数返回”;
}
}
我这里面的接入码和回调地址已经做过处理,没用的只是演示一下
回调地址 第二个https就是每个应用唯一的回调地址 分为测试地址和正式地址 正式地址上线的时候要改为正式的
当你的应用版本发生变化或者变更到正式环境,就需要更改 代码里面的回调地址 和 服务器端的回调地址 两个地方的回调要统一才能正常访问
服务端回调地址更改找钉钉群里面的 人修改
/p>
2.解决二次回退问题
3.获取回调后的ticket参数
4.调用上边的方法 先获取到当前设备处于什么运行平台(支付宝 / 浙里办)然后再去判断是否处于登录状态 执行 第三步是否返回参数 如果没有登录就 执行登录 第一步 登录
登陆后会再次执行一次 init这个方法,这是候我们已经拿到 ticket参数了 所以就进入 第二步 解决回退
这就是单点登录的基本过程
3.获取用户信息
在获取用户信息之前还得先在IRS子系统上配置 RPC 关接口(这个接口适用于获取用户信息的)
api注册好之后我们就来调用
声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!