
# 将华为云Astro轻应用中的应用发布成WeLink We码应用
#### 方案概述
华为云Astro轻应用上开发的应用可以发布成WeLink（蓝标）We码应用。We码是将前端的静态资源放入WeLink，都是本地访问，适用于对页面加载速度要求比较高的场景。关于WeLink We码应用的详细介绍，可参见[WeLink开发之旅](https://open.welink.huaweicloud.com/docs/#/990hh0/whokyc/kh5tt0)。
以创建"调查问卷应用"为例，向您介绍如何将华为云Astro轻应用中的应用发布成We码应用。
#### 操作流程
将华为云Astro轻应用中的应用发布成WeLink We码应用的流程，如[图1]所示。
图1We码应用发布流程   
![](https://support.huaweicloud.com/bestpractice-astrozero/zh-cn_image_0000002146167868.png)
1. [步骤一：创建We码应用]
   在WeLink端发布小程序之前，需要以WeLink管理员账号登录WeLink开发平台，创建一个We码应用。
   
2. [步骤二：在华为云Astro轻应用上创建应用]
   We码应用创建完成后，需要在华为云Astro轻应用租户账号中，创建一个应用，导入一个免登录App包，再配置企业WeLink相关系统参数。
   
3. [步骤三：编译并发布应用]
   将已创建的应用编译发布到WeLink上，并设置华为云Astro轻应用端及WeLink端的应用发布参数。
   
4. [步骤四：在WeLink移动端测试应用]
   应用发布后，在WeLink移动端搜索并验证已发布的小程序应用。
   
 
 #### 步骤一：创建We码应用
在WeLink端发布小程序之前，需要以WeLink管理员账号登录WeLink开发平台，创建一个We码应用。
1. 打开浏览器，访问[WeLink开放平台](https://open.welink.huaweicloud.com/)。
   
   图2访问WeLink开放平台   
   ![](https://support.huaweicloud.com/bestpractice-astrozero/zh-cn_image_0000001968910373.png "点击放大")
   
   
2. 在[图2]中单击右上角用户名后的![](https://support.huaweicloud.com/bestpractice-astrozero/zh-cn_image_0000001941751860.png)，选择"进入开发者后台"。
   
   如果使用已有账号直接登录WeLink开放平台，此处请选择"登录开发者后台" ，并通过WeLink移动端扫码或输入WeLink开发者账号密码登录。
   图3登录开发者后台   
   ![](https://support.huaweicloud.com/bestpractice-astrozero/zh-cn_image_0000001969070129.png "点击放大")
   
   
3. 在"We码应用"下，单击"立即开发"，进入创建We码应用页面。 
   图4We码管理   
   ![](https://support.huaweicloud.com/bestpractice-astrozero/zh-cn_image_0000001941911188.png "点击放大")
   
   
4. 在创建We码应用页面，设置应用相关信息，单击"提交"。 
   图5创建We码   
   ![](https://support.huaweicloud.com/bestpractice-astrozero/zh-cn_image_0000001968910417.png "点击放大")
   - 图标：上传新建We码应用的图标，也可直接使用推荐的图标。
   
   - 小程序中文名称：本示例配置为"开发者调查问卷"。
   
   - 小程序英文名称：本示例配置为"MyWelinkApp"。
   
   
   
   
5. 选择"企业内部应用 \> We码 \> 开发指引"，在"开发准备"中单击"申请应用权限"右侧的"申请权限"。 
   图6登录WeLink开发平台   
   ![](https://support.huaweicloud.com/bestpractice-astrozero/zh-cn_image_0000001941751904.png "点击放大")
   
   
6. 在申请权限页面，分别单击"用户登录信息"、"轻应用鉴权"、"租户详细信息"、"组织架构信息"和"用户详细信息"后的"申请权限"，申请相关权限。 
   图7申请相关权限   
   ![](https://support.huaweicloud.com/bestpractice-astrozero/zh-cn_image_0000001969070173.png "点击放大")
   如果要发布的应用调用了WeLink的其他接口，请添加其他相关权限。示例中的应用只开启上述权限。
   
   
7. 在"基本信息"页签，记录应用的唯一标识"client_id"和应用密钥"client_secret"，用于接口鉴权。
   
   图8查看应用的唯一标识和密钥   
   ![](https://support.huaweicloud.com/bestpractice-astrozero/zh-cn_image_0000001941911232.png "点击放大")
   
   
 
 #### 步骤二：在华为云Astro轻应用上创建应用
We码应用创建完成后，需要在华为云Astro轻应用中创建一个应用，导入一个免登录App包，再配置企业WeLink相关系统参数。
1. 基于调查问卷模板，创建调查问卷应用。 
   1. 使用具备开发者权限的华为云Astro轻应用账号，登录华为云官网。
   
   2. 单击![](https://support.huaweicloud.com/bestpractice-astrozero/zh-cn_image_0000001977904665.png)，在查找框中搜索"华为云Astro轻应用"，单击查找的结果，进入华为云Astro轻应用服务控制台。
   
   3. 在实例页面，单击"进入首页"，进入应用开发页面。
      - 具备开发者权限的华为云Astro轻应用账号：华为云Astro轻应用租户及具备开发者权限的WeLink用户，都具有进入开发环境开发应用的权限。
      
      - 租户请使用华为账号登录华为云Astro轻应用，具备开发者权限的WeLink用户则需要访问[华为云Astro轻应用产品页](https://www.huaweicloud.com/product/appcube.html)扫码登录。
       
   
   4. 在应用开发页面，选择"模板中心"。
   
   5. 在低代码专区，找到"调查问卷"模板，并单击该模板。
      图9使用应用模板创建应用   
      ![](https://support.huaweicloud.com/bestpractice-astrozero/zh-cn_image_0000001948585054.png "点击放大") 
   
   6. 在模板详情页面，单击"安装模板"。
      安装完成后，自动进入调查问卷应用设计器。
      图10调查问卷应用   
      ![](https://support.huaweicloud.com/bestpractice-astrozero/zh-cn_image_0000001977944521.png "点击放大") 
   
   7. 单击调查问卷后的![](https://support.huaweicloud.com/bestpractice-astrozero/zh-cn_image_0000001977904669.png)，选择"修改应用标签和描述"，将应用标签设置为"Astro轻应用开发者调查问卷"，单击"保存"。
   
   8. 修改要发布的页面模式，单击"Page"目录下的"用户体验"页面，单击页面![](https://support.huaweicloud.com/bestpractice-astrozero/zh-cn_image_0000001948585058.png)，切换页面布局模式为手机模式，单击![](https://support.huaweicloud.com/bestpractice-astrozero/zh-cn_image_0000001977944525.png)。
      图11修改用户体验布局为手机模式   
      ![](https://support.huaweicloud.com/bestpractice-astrozero/zh-cn_image_0000001977904673.png "点击放大") 
   
   9. 按照同样的方式，修改页面"调查问卷"的布局模式为手机模式。
      图12修改调查问卷布局为手机模式   
      ![](https://support.huaweicloud.com/bestpractice-astrozero/zh-cn_image_0000001948585062.png "点击放大") 
   
   10. 在主菜单中，单击"运行 \> 立即运行"，可预览调查问卷应用。
   
   
   
   
2. 导入免登录应用包。 
   免登录应用包仅为样例包，用于调查问卷应用发布到WeLink We码应用场景，实现WeLink用户在使用We码应用时，可通过免登逻辑获取到华为云Astro轻应用的认证信息。开发者可根据实际业务需求自定义开发免登逻辑，入参出参需要和样例保持一致，确保免登逻辑正常。
   1. 单击[下载链接](https://obs-for-bj4-gongyouyun-update.obs.cn-north-4.myhuaweicloud.com/obs/deploy/wKgzE2BIsbeAUcbhAABxiX2MOL0298.zip)，下载免登录应用包。
   
   2. 在应用开发页面，单击![](https://support.huaweicloud.com/bestpractice-astrozero/zh-cn_image_0000001977906725.png)，选择"环境管理 \> 环境配置"，进入环境配置页面。
   
   3. 在左侧导航栏中，选择"应用管理 \> 安装管理 \> 包安装"。
   
   4. 单击"新建"，将免登录包拖拽到上传文件处，单击"安装"。
      图13导入软件包   
      ![](https://support.huaweicloud.com/bestpractice-astrozero/zh-cn_image_0000001977951329.png "点击放大") 
   
   5. 返回应用开发页面，在"应用 \> 全部"中，可查看到"WeLink"应用。
      图14查看已安装应用   
      ![](https://support.huaweicloud.com/bestpractice-astrozero/zh-cn_image_0000001977955061.png "点击放大") 
    
   
   
3. 配置WeLink相关系统参数及匿名用户权限。 
   1. 在华为云Astro轻应用环境配置页面的左侧导航栏中，选择"系统设置 \> 系统参数"。
   
   2. 在系统参数列表中，查找参数"welinkClientId"，单击查找到的"welinkClientId"，进入参数详情页面。
   
   3. 单击"值"后的![](https://support.huaweicloud.com/bestpractice-astrozero/zh-cn_image_0000001968910433.png)，将"值"修改为[7]中获取的应用唯一标识"client_id"取值，单击"保存"。
      图15修改"值"为应用标识   
      ![](https://support.huaweicloud.com/bestpractice-astrozero/zh-cn_image_0000001941751936.png "点击放大") 
   
   4. 按照上述方法，将参数"welinkClientSecret"的"值"修改为[7]中，获取的应用密钥"client_secret"取值。
      "welinkClientId"和"welinkClientSecret"参数只需要在开发第一个We码应用时进行配置，后续开发其他We码应用不需要再次配置。
      
   
   5. 修改WeLink小程序回调参数。 在"内置系统参数"页签，搜索"token_url_in_bluewelink"，修改"值"为"/service/Tong__Welink/1.0.0/welinkLogin"。
      图16修改内置系统参数值用于小程序回调   
      ![](https://support.huaweicloud.com/bestpractice-astrozero/zh-cn_image_0000001948599906.png "点击放大")
      "/service/Tong__Welink/1.0.0/welinkLogin"是免登录应用WeLink中"welinkLogin"接口的URL。设置该"值"，后续将应用发布到Welink后，会自动将WeLink用户添加到华为云Astro轻应用业务用户列表中，并归属到Portal User Profile权限集。
      
   
   6. 开启接口配置权限。 在"内置系统参数"页签，搜索"bingo.permission.resource.default.switch"，将参数的值修改为"是"。
      图17开启接口权限   
      ![](https://support.huaweicloud.com/bestpractice-astrozero/zh-cn_image_0000001977920345.png "点击放大") 
   
   7. 配置允许WeLink用户访问小程序权限。 选择"用户安全 \> 权限"，在"权限配置列表"中，单击"Anonymous User Profile"，在"业务权限凭证"页签，单击![](https://support.huaweicloud.com/bestpractice-astrozero/zh-cn_image_0000001968910473.png)，勾选"welinkAccess"后的"可接入"。
      图18匿名用户权限配置   
      ![](https://support.huaweicloud.com/bestpractice-astrozero/zh-cn_image_0000001948602106.png "点击放大") 
   
   8. 给WeLink用户配置权限。 选择"维护 \> 全局元素 \> 业务用户"，在业务用户列表中，单击WeLink用户名，参考[图19]在业务用户详情中，单击"编辑"，赋予WeLink用户"Portal User Profile"权限。
      图19配置权限   
      ![](https://support.huaweicloud.com/bestpractice-astrozero/zh-cn_image_0000001977923033.png "点击放大") 
   
   9. 配置应用可见性。 选择"用户安全 \> 权限"，在"权限配置列表"中，单击"Portal User Profile"。在权限配置详情中，单击"应用程序设置"页签。单击![](https://support.huaweicloud.com/bestpractice-astrozero/zh-cn_image_0000001941751980.png)，选中应用的"可见性"复选框，单击![](https://support.huaweicloud.com/bestpractice-astrozero/zh-cn_image_0000001969070237.png)，配置应用可见性。
      图20配置应用可见性   
      ![](https://support.huaweicloud.com/bestpractice-astrozero/zh-cn_image_0000001941911292.png "点击放大") 
   
   10. 配置允许WeLink用户操作当前应用中的自定义对象权限。 选择"用户安全 \> 权限"，在"权限配置列表"中，单击"Portal User Profile"。在"自定义对象权限"页签，搜索"Questionnaires_qR__CST"对象，在搜索结果中找到"*命名空间* *__* Questionnaires_qR__CST"，单击![](https://support.huaweicloud.com/bestpractice-astrozero/zh-cn_image_0000001968910481.png)，先勾选"编辑"，保存后再勾选其他全部权限。
       图21配置自定义对象的操作权限（编辑权限）   
       ![](https://support.huaweicloud.com/bestpractice-astrozero/zh-cn_image_0000001948635180.png "点击放大")
       图22配置自定义对象的操作权限（其他权限）   
       ![](https://support.huaweicloud.com/bestpractice-astrozero/zh-cn_image_0000001978115041.png "点击放大")
       这里以"调查问卷"模板应用为例配置"Portal User Profile"权限，WeLink用户使用该应用只要配置相关对象权限即可。使用其他应用，可能还需要配置接口、脚本等相关权限，请根据实际情况配置权限。
       
   
   
   
   
 
 #### 步骤三：编译并发布应用
将已创建的应用编译发布到WeLink上，并设置华为云Astro轻应用端及WeLink端的应用发布参数。
1. 在华为云Astro轻应用上编译发布应用。 
   1. 进入华为云Astro轻应用开发者调查问卷设计器。
   
   2. 在主菜单中，选择"发布 \> 应用打包 \> 生成移动应用"。
   
   3. 在发布应用中，单击"WeLink-We码"。
      图23WeLink-We码   
      ![](https://support.huaweicloud.com/bestpractice-astrozero/zh-cn_image_0000001948635688.png) 
   
   4. 打开WeLink，扫描登录WeLink开放平台。
      如果当前未登录WeLink，需要先扫码或输入账号、密码登录。登录后，直接跳转到应用创建设置页。
      图24扫描登录WeLink开放平台   
      ![](https://support.huaweicloud.com/bestpractice-astrozero/zh-cn_image_0000001948635796.png "点击放大") 
   
   
   
   
2. 设置WeLink应用信息。 
   1. 在"发布至WeLink"页面，设置待发布应用的以下信息。
      - 小程序名称：从下拉框选择要发布到WeLink上的应用名。本示例选择"开发者调查问卷"。
      
      - 版本号：要发布的版本号。注意是数字递增的，新发布的版本号应高于之前的版本。本示例设置为"1.0.0"。
      
      - 主页：选择一个发布的页面作为首页，即显示的默认页面。本示例设置为"*命名空间_*Questionnaires_questionnairePage"。
      
      - 环境类型：承载应用程序服务的华为云Astro轻应用环境类型。本示例选择"开发环境"。
      
      - 开启调试：开启后，在手机端测试小程序时会展示VConsole，用于调试。建议在测试阶段开启，正式使用时关闭。
       
   
   2. 设置完成后，单击"发布"。
   
   3. 参数确认无误后，单击"确定"。
      图25确定发布后跳转至WeLink应用管理页   
      ![](https://support.huaweicloud.com/bestpractice-astrozero/zh-cn_image_0000001968910493.png) 
   
   
   
   
3. 在WeLink上提交发布应用申请。 
   1. 在"应用开发 \> 首页 \> We码 \> 版本管理"中，单击"发布版本"。
      图26在WeLink上发布版本   
      ![](https://support.huaweicloud.com/bestpractice-astrozero/zh-cn_image_0000001941751996.png "点击放大") 
   
   2. 在"版本说明"中输入相关说明信息，如"第一次测试版本"，单击"确定"，提交发布应用申请给企业管理员审核。
      图27输入版本说明   
      ![](https://support.huaweicloud.com/bestpractice-astrozero/zh-cn_image_0000001969070257.png "点击放大") 
   
   3. 提交审核后，页面将显示"审核版"，单击"联系企业管理员"，在弹窗中单击"复制"，将应用发布审核链接发送给管理员审核发布版本。
      图28联系管理员审核版本   
      ![](https://support.huaweicloud.com/bestpractice-astrozero/zh-cn_image_0000001941911304.png "点击放大") 
   
   
   
   
4. 联系管理员，审核发布应用版本。 
   1. 管理员打开应用发布审核链接，登录后，在"审核新版本"中单击"同意"。 如果没有应用发布审核链接，请访问[WeLink管理后台](https://welink.huaweicloud.com/)，选择"应用 \> 应用管理 \> 全部应用"，搜索到小程序，单击应用名即可进入应用审核页面。
      
   
   2. 在"同意新版本"中，输入审核意见，单击"确定"，完成审核。 审核完成后，应用会发布到企业WeLink的开发环境中。
      
   
   
   
   
 
 #### 步骤四：在WeLink移动端测试应用
应用发布后，可以在WeLink移动端搜索并验证已发布的小程序应用。
1. 在WeLink手机端，单击"业务"，搜索小程序"开发者"。
2. 单击搜索结果列表中的应用名，进入调查问卷页面。 
   如果无法正常登录应用，且提示用户名已注册，请按照[常见问题]中操作处理。
   图29搜索小程序"开发者调查问卷"   
   ![](https://support.huaweicloud.com/bestpractice-astrozero/zh-cn_image_0000001968910501.png "点击放大")
   
   
3. 输入问卷信息，单击"提交"，成功后跳转到"提交成功"页面。 
   图30进入小程序页面   
   ![](https://support.huaweicloud.com/bestpractice-astrozero/zh-cn_image_0000001941752000.png)
   
   
4. 单击"查看详情"或"继续提交"，测试验证小程序的功能。 
   图31提交成功   
   ![](https://support.huaweicloud.com/bestpractice-astrozero/zh-cn_image_0000001969070261.png)
   问卷调查完成后，切回到"开发者调查问卷"的应用开发页面，单击![](https://support.huaweicloud.com/bestpractice-astrozero/zh-cn_image_0000001941911348.png "点击放大")预览应用。在"调查问卷管理"页签中，可查看或删除相关数据。
   图32管理调查问卷记录   
   ![](https://support.huaweicloud.com/bestpractice-astrozero/zh-cn_image_0000001968910581.png "点击放大")
   
   
 
#### 相关主题
如果对导入的免登录应用有兴趣，可以查看以下内容，更深入的了解免登录应用。
- 免登录应用所在位置 将免登录应用包（[下载链接](https://obs-for-bj4-gongyouyun-update.obs.cn-north-4.myhuaweicloud.com/obs/deploy/wKgzE2BIsbeAUcbhAABxiX2MOL0298.zip)）导入到华为云Astro轻应用后，在应用开发页面"应用 \> 全部应用"下会显示导入的应用包。
  **本示例中提供的免登录包仅供学习使用，如果需要商用，建议参考样例包进行优化。**
  图33免登录应用位置   
  ![](https://support.huaweicloud.com/bestpractice-astrozero/zh-cn_image_0000001948641748.png "点击放大") 
- 免登录应用开发工作台介绍
  图34应用目录   
  ![](https://support.huaweicloud.com/bestpractice-astrozero/zh-cn_image_0000001948645280.png "点击放大") 
- 脚本、服务编排和公共接口等应用资源介绍
  表1脚本及接口等应用资源用途 
  | 资源名称                       | 所在位置                           | 作用                                                                                                                 |
  |:---|:---|:---|
  | Tong__register             | 应用目录Logic                      | 业务用户注册脚本，用于WeLink新用户接入。 **"Tong__"为免登录应用包开发时，开发者使用的命名空间。此命名空间不能修改。** |
  | Tong__registerquery3rdUser | 应用目录Logic                      | 查询WeLink用户信息脚本，用于WeLink用户接入验证。                                                                                     |
  | Tong__welinkLogin          | 应用目录Logic                      | 登录服务编排，用于WeLink用户登录业务应用。                                                                                           |
  | welinkAccess               | 设置 \> 权限设置                     | 业务权限凭证，用于管理外部调用免登录接口的权限。                                                                                           |
  | welinkLogin                | 集成 \> 开放接口                     | 开放接口，用于对外暴露服务，并编辑业务权限凭证，归入welinkAccess。                                                                            |
  | token_url_in_bluewelink    | 环境配置 \> 系统设置 \> 系统参数 \> 内置系统参数 | 华为云Astro轻应用内置系统参数，用于小程序回调。                                                                                         |
     
  
- 华为云Astro轻应用中应用与企业WeLink互通涉及的接口
  应用发布到WeLink后，WeLink企业中的用户在We码中使用该应用时，华为云Astro轻应用需要实现WeLink企业用户到应用业务用户的转换，获取用户身份相关接口说明如[表2]所示。
   表2获取用户身份相关接口 
  | 序号 | 描述                 | 接口                | 接口类型     |
  |:---|:---|:---|:---|
  | 1  | We码小程序获取免登授权码      | HWH5.getAuthCode  | 前端JS API |
  | 2  | 服务端获取access_token  | /auth/v2/tickets  | 服务端API   |
  | 3  | 服务端根据免登授权码获取userId | /auth/v2/userid   | 服务端API   |
  | 4  | 服务端获取用户详细信息        | /contact/v1/users | 服务端API   |
     
  
 
 #### 常见问题
- **问题1**
  **问题描述** ：在WeLink移动端无法登录应用，且提示"用户名已注册"。
  图35用户名已注册   
  ![](https://support.huaweicloud.com/bestpractice-astrozero/zh-cn_image_0000001941911424.png)
  **可能原因**：
  可能是因为您有多个Welink账号导致的。
  **处理方法：**
  1. 在华为云Astro轻应用的应用开发页面，单击![](https://support.huaweicloud.com/bestpractice-astrozero/zh-cn_image_0000001978130921.png)，选择"环境管理 \> 环境配置"，进入环境配置页面。
  
  2. 在环境配置页面的顶部菜单栏中，选择"维护"。
  
  3. 在左侧导航中，选择"全局元素 \> 业务用户"。
  
  4. 在业务用户列表中，检查同步过来的Welink账号是否均已自动分配了Portal User Profile权限集。
  
  5. 如果权限集为空，请单击用户名，为此用户添加Portal User Profile权限集，添加完成后，重新打包发布。
     图36多个welink账号手动添加Portal User Profile权限集   
     ![](https://support.huaweicloud.com/bestpractice-astrozero/zh-cn_image_0000001948669490.png "点击放大")
     图37为用户添加Portal User Profile权限   
     ![](https://support.huaweicloud.com/bestpractice-astrozero/zh-cn_image_0000001978151337.png "点击放大") 
   
- **问题2**
  **问题描述**：
  WeLink导入的业务用户，在PC端无法正常登录已发布的应用。
  **可能原因**：
  在华为云Astro轻应用中导入业务用户时，未同步WeLink中的业务用户密码。
  **处理方法**：
  请参照[扫码登录第三方网站集成指导](https://open.welink.huaweicloud.com/docs/#/990hh0/whokyc/i0wzzh)中操作处理。
  
 
