# H5web
## 一、使用场景
1)拥有自己的<font color='red'>H5网站</font>或<font color='red'>混合开发的App</font>,需要将小鹅通的H5店铺与自己的H5系统相结合。
2)使用混合开发技术的App,例如Uni-app、Fultter、React-Native等开发的App需要嵌入SDK的。
<font color='red'>**iOS App中课程支付必须接入iOS代币支付方案,因苹果对于虚拟产品有收取“苹果税”的规则,如不遵守会有下架风险**</font> [详细了解请点击](recall_scene/lnline_sdk/business/pay.md)
<br/>
**可实现:**
1. 登录了自有H5系统后,<font color='red'>不用再登录小鹅通的H5店铺</font> ,可直接打开直播间观看直播或课程。
2. 用户拿到小鹅通课程链接,在手机浏览器(或微信)访问,会先跳转至您的H5系统进行登录后,您可以判断其是否有权益看该课程后,再进入小鹅通课程。
3. 单点登录,登录功能交予您处理,走完您的自有登录流程,再打通小鹅通登录。
4. <font style='background:yellow'>混合开发技术的App或不想引入SDK包的App,能够嵌入SDK。</font>``
## 混合开发App(非原生APP)接入
因目前AppSDK还没有提供混合开发版本的SDK,所以目前只能选择WebSDK的方式去嵌入。
注释:
Websdk,本身是不引入任何外部插件的,完全由Web后端来注入登录态信息(cookie中的token)。
Websdk的原理,登录动作交予给您处理。直接由小鹅通的Web网关来判断是否有已登录小鹅通,如果没登录,会直接重定向你方提供的H5“登录页”(即时序图中第3步)。
<br>

<br>
## 实例效果:
1. 举例两种模式
App是原生开发的,但是不愿意引入原生SDK,腾讯音乐TME酷狗接入效果如下。

<br>
超预期App例子,混合开发的App,使用websdk接入效果如下

<br>
2. 举例接下来几种情况,可灵活运用
>情况一:(App未登录)App容器可以判断到当访问这个登录页的地址,判断用户是否已登录App。
第一步:如果未登录App,拉起App登录页,做完App登录后随机调用小鹅通【[注册用户api](https://api-doc.xiaoe-tech.com/api_list/user/register.html)】注册获得了小鹅通user\_id并做好存储关联。
第二步:然后拿着小鹅通user\_id调用login.url接口获取登录链接,登录链接交给App客户端,去跳转,跳转后即是小鹅通首页,并且已登录状态。
注:当执行了一次如上操作后,24小时内,在app中访问小鹅通任何链接,都有登录态,因为浏览器cookie中已经存在了有效登录态。
<br>
情况二:(App已登录)因小鹅通Web的登录态有效期只有24小时,App的登录态一般都是几天,所以存在App已登录,小鹅通Web失效了。
当出现这种情况,App无需重新拉取自己的登录页,App自己判断清楚,1、直接重新调用一个获取新的login.url接口即可,2、直接拿着user\_id请求新的登录链接,客户端重新跳转即可。
3. 接口清单
[注册用户](https://api-doc.xiaoe-tech.com/api_list/user/register.html)

4. 常见问题:
Q:<font color='red'>sdk_app_id</font>在哪里取?
A:应用-经营去到-SDK服务-SDK管理-基本信息

<br>
Q:<font color='red'>sdk_user_id</font>是什么
A:可以理解为你方系统的userid(app_user_id)或任何唯一的值,用作小鹅通与你方账号关联的依据。
[获取登录链接](https://api-doc.xiaoe-tech.com/recall_scene/lnline_sdk/h5_sdk.html)

<br>
<font style='background:yellow'>Q:redirect_uri是干嘛的?</font>
A:目标回调地址,非必传,如果不传,登录链接跳转后默认回到首页。
App场景中经常是用户直接点击直播间进入小鹅通Web,当无登录态时,会调转到你方配置的登录页,举个例子跳转过去会是这样的【https://app.wuhangshengcai.com/xiaoe/login.html?redirect_uri=https://appxxxxx.h5.xiaoeknow.com/v2/alive/id_xxxxxxxx】
<font color='red'>**可以看出,客户想进入的直播间地址会通过get参数带给你方登录页,供你方调用login.url时传入,这种情况获得的登录链接,跳转后会直接进入直播间,不会去首页。**</font>
<br>
Q:登录页在哪里设置?
A:应用-经营去到-SDK服务-SDK管理-平台信息-WebSDK接入

- 开发前必读
- 小鹅云介绍
- 更新日志
- 开始开发
- 开发指南
- 创建并授权应用
- 获取access_token(含代码示例)
- 开通接口权限
- 全局返回码
- 常用工具
- 日志排查工具
- 场景方案
- 同步用户场景
- 同步商品场景
- 同步订购关系场景
- 同步积分场景
- 同步页面统计场景
- 同步学习数据场景
- 同步推广员场景
- 内嵌SDK服务场景
- 产品介绍
- 产品简介
- 客户案例
- 接入流程
- 业务文档
- 账号打通
- 支付
- 直播带货
- 商品同步
- 订单同步
- 学习数据同步
- 企业内训
- PCweb
- H5web
- 流量变现
- App分享
- 微页面装修
- 直播连麦
- 技术文档
- 小鹅通SDK开发者声明
- 小鹅通SDK个人信息保护政策(2022年9月28日生效)
- 小鹅通SDK个人信息保护政策(2022年9月28日失效)
- 开发指南
- 原生SDK登录态
- Android-SDK 接入
- iOS-SDK 接入
- WebSDK接入
- 小程序接入
- 小程序支付接入
- 代币支付签名算法
- SDK&H5账号详解
- 发布日志(iOS)
- 发布日志(Android)
- 常见问题
- 消息推送
- 使用说明
- 消息加/解密
- 消息接收URL校验说明
- 订单状态推送
- 用户手机号变更推送
- 用户状态变更推送
- 积分变更消息推送
- 商品变更推送
- 考试消息推送
- 活动签到推送
- 订单支付推送
- 账号合并推送
- 用户注册推送
- 优惠券消息推送
- 信息采集推送
- 权益变更推送
- 用户标签变更消息推送
- API列表
- 获取access_token(含代码示例)
- 用户管理
- 使用说明
- 注册新用户
- 更新用户信息
- 获取用户列表2.0
- 获取用户列表1.0
- 查询单个用户信息
- 批量查询用户信息
- 获取用户消费信息
- 获取课程学员列表
- 获取训练营pro学员列表
- 获取会员卡用户信息
- 查询单个用户标签列表
- 查询用户合并记录
- 获取标签列表
- 添加/修改标签
- 添加/修改用户标签
- 获取用户反馈列表
- 获取用户反馈回复列表
- 回复用户反馈
- 学习数据管理
- 获取学习记录列表
- 获取每日学习记录
- 获取指定资源学习记录信息
- 获取营期下用户的学习情况
- 获取训练营pro学员任务详情
- 直播管理
- 获取直播列表
- 批量查询指定直播间列表信息
- 获取班课列表
- 获取签到列表
- 获取签到学员列表
- 获取直播红包列表
- 获取红包领取记录
- 获取直播数据概览
- 获取直播详情
- 获取直播详情2.0
- 获取红包数据概况
- 获取直播间讨论区消息列表
- 获取直播间多段推流记录
- 创建直播
- 编辑直播
- 上架/下架直播
- 删除直播
- 获取直播间用户列表
- 商品管理
- 查询商品列表2.0
- 查询商品列表1.0
- 查询组合课资源列表4.0
- 查询组合课资源列表3.0
- 获取训练营营期任务
- 商品详情2.0
- 商品详情1.0
- 获取课程关联的助学工具
- 获取直播带货商品列表
- 获取实物商品评论列表
- 商品增加库存
- 商品减少库存
- 新建实物商品
- 编辑实物商品
- 删除实物商品
- 获取实物商品类目列表
- 获取C端搜索商品列表
- 商品分组管理
- 获取店铺商品分组列表
- 获取商品分组内商品列表
- 批量新建/更新商品分组
- 删除商品分组
- 素材管理
- 获取素材列表
- 获取素材分组列表
- 素材分组编辑
- 素材分组移动
- 素材分组删除
- 订单管理
- 获取订单列表2.0
- 获取订单详情2.0
- 获取订单列表1.1
- 获取订单列表1.0
- 查询用户订单列表
- 获取订单详情
- 获取买赠订单信息
- 待付款订单改价
- 获取售后订单列表
- 获取售后订单详情
- 订单退款
- 订购管理
- 用户开通产品包权益2.0
- 用户开通产品包权益
- 查询用户订购资源列表
- 用户购买关系查询
- 查询用户资源权益2.0
- 查询用户资源权益1.0
- 取消订购
- 批量开通用户产品包权益-创建任务
- 批量开通用户产品包权益-查询任务列表
- 批量开通用户产品包权益-查询任务详情
- 物流管理
- 普通实物单发货(即将下线)
- 获取物流公司信息列表
- 订单全部商品发货
- 订单部分商品发货
- 修改已发货订单的物流信息
- 获取运费模板列表
- 推广员管理
- 查询推广员列表
- 查询推广员客户列表
- 查询推广员的下级推广员列表
- 查询指定推广员的信息
- 查询客户所属推广员
- 查询推广员名下新增/过期客户
- 新增推广员
- 推广员绑定客户
- 修改/解除绑定关系
- 设置推广员上级
- 推广订单详情
- 按日期查询推广员的收益和新增加的下级
- 推广订单详情(支持购物车订单返回多条记录)
- 信息采集管理
- 获取信息采集列表
- 获取单个信息采集结果
- 获取用户信息采集结果
- 根据表单ID以及用户ID获取信息采集结果
- 营销码券管理
- 优惠券列表
- 获取优惠券详情2.0
- 获取优惠券详情
- 获取优惠券领券用户
- 发放优惠券2.0
- 发放优惠券
- 优惠券核销
- 获取优惠码列表
- 获取优惠码码库列表
- 获取优惠码效果数据
- 创建优惠码
- 优惠码添加库存
- 优惠码失效
- 编辑优惠码
- 优惠码删除
- 获取兑换码码库列表
- 追加兑换码库存
- 创建兑换码
- 编辑兑换码
- 兑换码失效
- 用户使用兑换码
- 获取兑换码批次列表
- 作废单个兑换码
- 积分管理
- 查询用户积分日志
- 获取单个用户积分信息
- 批量获取用户积分列表
- 获取店铺积分信息
- 批量发放积分
- 批量扣减积分
- 解冻冻结积分
- 设置店铺积分过期时间
- 业务类型说明
- 页面统计管理
- 新建页面统计
- 编辑页面统计
- 获取页面统计列表
- 获取页面统计详情
- 获取页面统计订单列表
- 新建投放渠道
- 获取投放渠道列表
- 打卡管理
- 获取打卡列表
- 获取打卡参与用户
- 获取指定学员活动日记列表
- 获取活动点赞列表
- 获取指定学员被点赞总数和列表
- 获取用户日记被点评/评论列表
- 获取指定打卡的作业列表
- 获取学员的打卡日记列表
- 获取打卡关联的课程信息
- 练习管理
- 获取练习基本信息列表
- 获取练习结果列表
- 获取练习详情
- 获取学员练习答题详情
- 作业管理
- 获取作业本列表
- 获取作业基本信息列表
- 获取作业结果列表
- 获取作业详情
- 获取学员作业答题详情
- 圈子管理
- 获取用户参与的圈子
- 考试管理
- 获取考试列表
- 获取考试详情
- 获取考试结果列表信息
- 获取考试结果详细信息
- 活动管理
- 获取活动列表
- 获取签到列表
- 获取活动报名列表
- 获取活动签到信息
- 组织管理
- 获取员工列表
- 获取员工详细信息
- 添加或者保存员工信息
- 启用员工
- 停用员工
- 删除员工
- 根据员工账号获取用户ID
- 获取组织结构树
- 添加或修改组织架构
- 移除组织架构
- 微页面管理
- 获取微页面列表
- 企学院专用(不对外开放)
- 学员管理(限企学院)
- 企学院获取学员列表
- 企学院添加学员
- 企学院修改学员
- 企学院删除学员
- 企学院添加组织架构
- 企学院删除组织架构
- 企学院编辑组织架构
- 企学院获取组织架构
- 企学院获取部门信息
- 活动管理(限企学院)
- 企学院用户签到活动列表
- 培训计划管理(限企学院)
- 获取培训计划列表
- 获取培训计划详情
- 获取用户培训学习数据
- 获取员工的培训计划列表
- 常见问题
- 问题汇总
- 问题反馈
