Readme.md 4.6 KB

[TOC]

基于移动应用平台2.0 APP的单点登录插件

  • 前提:已安装新版本的移动应用门户,单点登录依赖 移动应用平台2.0 App.
  • 平台与系统:iOS 9 ~ 12; Android:4.4 ~ 9,支持Ionic、Vue、React构建的App.
  • 功能与作用:提供第三方应用与门户App已登录用户的信息交换,门户App以json方式提供username、password、token给第三方应用,第三方应用与门户App是否采用同一账号体系(4A账号体系),则取决于第三方应用。
  • 启动方式:手机桌面启动(下称:桌面启动')、门户工作台启动(下称:工作台启动).

一.文件结构一览

<table>

文件名其它 ##表头 Readme.md插件集成和部分使用文档说明 详细配置文档使用前先阅读Readme.txt android配置文档 iOS配置文档 package.json包文件,可查看基本信息 plugin.xml插件配置文件 srcAndroid和iOS原生代码文件 www插件js文件,web可直接调用


二.集成方式概述


以下操作请在项目根目录下进行.

  1. 下载插件ZIP文件,解压
  2. 修改插件文件的plugin.xml文件
  3. 项目根目录下新建myplugins文件夹,将修改后的插件文件夹放在此处.

三.集成方式


3.1 Cordova集成方式
  1. 修改插件plugin.xml文件
    在myplugins文件夹下的yi-dong-ying-yong-copy文件夹下,找到plugin.xml文件,将 <preference name="URL_SCHEME" default="weixin.wuxiyi.com"/> 替换为:
    <preference name="URL_SCHEME" default="安卓为平台app包名,iOS为本应用ID"/>
  2. 添加插件到项目中
    使用Visual Studio Code打开项目,左下角切换到终端,并输入:
    cordova plugin add ./myplugins/yi-dong-ying-yong-copy
3.2 Yarn集成方式
  1. 修改插件plugin.xml文件 在myplugins文件夹下的yi-dong-ying-yong-copy文件夹下,找到plugin.xml文件,将
    <preference name="URL_SCHEME" default="weixin.wuxiyi.com"/> 替换为:
    <preference name="URL_SCHEME" default="安卓为平台app包名,iOS为本应用ID"/>
  2. 修改项目根目录下的package.json文件
    dependencies 一项中,添加单点登录插件的本地依赖,如下:
    "cordova-plugin-dingxin-sso": "file:./myplugins/yi-dong-ying-yong-copy"
  3. 安装项目依赖
    Visual Studio Code打开项目,左下角切换到终端,并输入:
    yarn install 特别提醒,不要使用npm install
  4. 修改项目config.xml文件
    项目根目录下的config.xml,添加到其它标签之前,如下:
    <plugin name="cordova-plugin-dingxin-sso" spec="./node_modules/cordova-plugin-dingxin-sso"> <variable name="URL_SCHEME" value="安卓为平台app包名,iOS为本应用ID" /> </plugin>

四.使用


在需要登录的地方,如LoginComponent.ts中添加示例代码,如下:

    declare let cordova: any; // 声明一个cordova对象

    /**
     * 登录操作
     */
    onLoginClick() {
        cordova.dingxin.sso.login((ssoRes) => {
            // dingxin.sso 成功回调
            let data  = JSON.parse(ssoRes);
            // TODO ...
            }, () => {
            // dingxin.sso 登录失败回调
            // TODO ...
        }, "安卓为平台app包名,iOS为本应用ID(见下注释)");
        安卓为移动应用平台app的 package id,    
        iOS则要修改为本应用的ID。
    }

更新历史

1.0.11 2019.05.22
  1. 更新了集成文档,调理更清晰
  2. 拆分了配置文档,集成时更有针对性
  3. 修改了SSOLoginPlugin.js文件,精简了参数,去除了type参数
  4. 完善了安卓checkPermission()使用场景,解决了缺少权限的问题.