
# 如何将应用发布到华为OneMobile
#### 使用说明
将应用中的标准页面和高级页面，发布到华为OneMobile，需要输入华为OneMobile的用户名和密码或扫码进行授权登录。选择该方式发布后，在华为OneMobile上可生成应用程序二维码，扫码后按照提示可体验该应用。
#### 操作步骤
1. AstroZero的小程序包发布到OneMobile后，在OneMobile中访问时，首先要做免登逻辑的处理，这样会获取到AstroZero的访问Token，在后续的请求中会携带此Token请求业务数据。 
   有两种方式实现免登逻辑，若两种方式都已配置，优先方式一的处理逻辑：
   - 方式一：开发者自己实现免登接口，即通过在BO或者应用中开发服务编排来获取访问AstroZero的Token，再将服务编排封装为免登接口，使用此方式后，可以给每个业务用户设置相应的权限，用权限控制是否可访问AstroZero业务接口。
     1. 开发脚本，脚本中调用业务用户查询详情接口，获取到业务用户信息，查询该业务用户是否存在于AstroZero中。
        - 如果存在，获取到业务用户详情。
        
        - 如果不存在，创建一个业务用户。
         
     
     2. 开发服务编排，调用登录接口（使用服务编排中的公式实现），获取Token。
     
     3. 封装服务编排为免登接口，即华为OneMobile小程序免登录请求URL。
     
     4. 在承载服务接口的AstroZero相应环境管理中心，配置内置系统参数"token_url_in_shinemo"，即华为OneMobile小程序免登录请求URL。
        在AstroZero相应环境管理中心左侧选择"系统管理 \> 系统参数"，选择"内置系统参数"页签。参考[表1]，配置"token_url_in_shinemo"。
         表1"token_url_in_shinemo"参数说明 
        | 参数                   | 参数说明                                                                                                                                                                                                                     |
        |:---|:---|
        | token_url_in_shinemo | 华为OneMobile小程序免登录请求URL，即[1.c]封装服务编排的接口URL。 该参数值为华为OneMobile小程序，获取AstroZero access-token的请求URL。如果不配置，在华为OneMobile中打开小程序时，会因为业务请求没携带access-token而报错。 |
           
        
      
   
   - 方式二：使用AstroZero预置的免登逻辑，在承载服务接口的AstroZero相应环境管理中心配置免登信息即可。
     1. 参考[如何登录经典应用设计器](https://support.huaweicloud.com/usermanual-astrozero/astrozero_05_5025.html)中操作，登录AstroZero相应环境的管理中心。
     
     2. 在左侧导航栏中，选择"系统管理 \> 统一身份认证设置"。
     
     3. 单击"新增绑定"，配置"小程序环境"、"App Key"和"App Secret"。
        图1设置绑定OneMobile参数   
        ![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001933047428.png) 
     
     4. 设置完成后，单击"绑定OneMobile"。 当前版本，仅支持绑定10个OneMobile。
        
      
   
   
   
   

2. 参考[1](https://support.huaweicloud.com/usermanual-astrozero/astrozero_05_5049.html#astrozero_05_5049__li1983144385616)\~[3](https://support.huaweicloud.com/usermanual-astrozero/astrozero_05_5049.html#astrozero_05_5049__li1118817495454)中操作，进行编译设置，编译设置时请选择"资产包"。
3. 发布应用并登录开发者平台。 
   1. 在应用开发页面左侧，单击![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001960286549.png)。
   
   2. 在发布应用中，选择"华为OneMobile"，进入选择华为OneMobile环境页面。
   
   3. 在页面中，选择待登录的OneMobile环境，单击"确认"，进入开发者平台登录页面。 若当前无环境，可单击"新增环境"，新增小程序环境（当前版本最多只能添加10个OneMobile环境）。
      ![](https://support.huaweicloud.com/usermanual-astrozero/public_sys-resources/note_3.0-zh-cn.png)
      AstroZero作为OneMobile小程序开发工具，可将开发好的小程序一键发布到OneMobile开放平台。AstroZero和OneMobile之间，通过OAUTH2协议打通认证，绑定开发者账号。当前开发工具和开放平台之间的集成为系统级集成，开放平台提供"clientId/clientSecret"作为工具的认证凭证，工具通过该凭证操作开放平台数据，如查询某个开发者创建了哪些应用、推送哪些小程序包等。
      OneMobile当前为非云化独立部署，每个环境凭证有所不同，请联系OneMobile侧各个环境运维人员，获取sync-contact服务中与IDE相关的配置。
      图2新增OneMobile环境   
      ![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001932888036.png) 
   
   4. 在开发者平台登录页面，输入账号、密码和校验码后，单击"登录"。
      图3登录开发者平台   
      ![](https://support.huaweicloud.com/usermanual-astrozero/zh-cn_image_0000001960126741.png "点击放大") 
   
   5. 将应用中的标准页面和高级页面，发布到华为OneMobile。
      表2发布到"华为OneMobile"参数说明 
      | 参数              | 参数说明                                                                                                                                                                                                                                                                                                                                                                                                                                     |
      |:---|:---|
      | 小程序名称           | 选择要发布到华为OneMobile上的应用名。                                                                                                                                                                                                                                                                                                                                                                                                                  |
      | 主页              | 打开华为OneMobile小程序时，默认展示的页面。                                                                                                                                                                                                                                                                                                                                                                                                               |
      | 环境类型            | 承载应用程序服务的AstroZero环境类型，如"开发环境"、"运行环境"和"沙箱"。                                                                                                                                                                                                                                                                                                                                                                                              |
      | 运行环境/沙箱域名       | 设置运行环境/沙箱的环境域名。当"环境类型"配置为"运行环境"或"沙箱"时，该参数才需要配置。                                                                                                                                                                                                                                                                                                                                                                                          |
      | 运行环境/沙箱租户ID     | 设置运行环境/沙箱环境的租户ID，配置后，小程序运行时会在请求头自动添加租户ID。获取方法如下： 1. 登录运行环境/沙箱环境。  2. 在管理中心左侧导航栏中，选择"用户管理 \> 公司配置 \> 公司信息"。  3. 在公司信息中，即可获取到"租户ID"。   |
      | 开启调试            | 是否开启调试功能，当应用在华为OneMobile上运行时，是否开启vConsole调试功能。开启后，可在华为OneMobile该应用上，单击"vConsole"，查看日志。                                                                                                                                                                                                                                                                                                                                                   |
      | 启用js编译器         | 当打包应用内有高级页面时，才会显示该参数。开启后，会将高级页面引用的插件和资源进行JS编译，使代码规范化。                                                                                                                                                                                                                                                                                                                                                                                    |
      | 高级设置 \> 导航栏显示方式 | 在小程序中展示时，是否显示导航栏。                                                                                                                                                                                                                                                                                                                                                                                                                        |
         
      
   
   
   
   
4. 在OneMobile小程序容器管理后台，发布小程序。 
   1. 登录OneMobile小程序容器管理后台，上传要发布的小程序包。
   
   2. 在小程序上传成功后，单击待提交审核小程序版本号后展示的"二维码"，扫描二维码，下载小程序进行预览。
   
   3. 单击已上传小程序后的"提交审核"，提交发布审核。 审核通过后，即可使用或测试该小程序。
      
   
   
   
   
 
