LINK API
Link API 为原生开发平台, 供 Link 轻应用原生开发使用.
常见问题
Q: 安卓 9 的系统下,第二次打开 link 轻应用市场会有页面白屏.
更新
bui.css
bui.js
为1.5.2
版本以上
buijs update -p bingotouch
Q:
bui.isWebapp = false;
代表什么?首先, 创建平台的时候, 要选择
buijs create -p bingotouch
这样创建的bui.js
才是支持false
形态. 这是因为移动端跟 PC 端的执行时机不同, 通过设置为 false 以后,bui.ready
会走原生的初始化时机, 确保原生设备的 API 已经准备就绪.1.5 以前的版本, 这样设置以后,, 1.5 以后的版本, 默认不管状态是什么, 都走bui.ajax
会走原生请求$.ajax
,打包后没有跨域问题. 按照工程配置去修改, 在手机端的调试也不会有跨域问题.Q: 如何与 LINK SSO 对接?
- 检查 index.html 有没有引入以下文件.
<script src="js/platform/cordova.js"></script>
<script src="js/platform/bingotouch.js"></script>
<script src="js/platform/linkplugins.js"></script>
有引入说明已经是 bingotouch 工程了. 在工程下执行以下命令, 更新 bui.js 为 bingotouch 平台版本;
buijs update -p bingotouch
- 切换 bui.isWebapp 的状态为 false;
// 切换为原生, 走 deviceready. pc调试改为 true;
bui.isWebapp = false;
// 修改请求使用原生, 就会自动对接LINK SSO, 请求自动带上token;
bui.config.ajax = {
needNative: !bui.isWebapp,
};
// 修改list请求使用原生, 就会自动对接LINK SSO, 请求自动带上token;
bui.config.list = {
needNative: !bui.isWebapp,
};
bui.ready(function () {
// 这个方法只能在link里面获取到, 在PC会报错, 请使用 try catch 包裹.
app.link.getLoginInfo(function (result) {
// 获取用户信息
bui.alert(result);
});
});
备用方案: 如果第 1 步检查不到这些依赖跟文件, 执行以下命令创建一个新工程, 把 index.html
及 js/bui.js
文件,js/platform
目录 复制到自己的工程. 并重复第 2 步就行.
// 创建新bingotouch工程, index.html里面会有对应的依赖文件, 并且bui.js会更新为bingotouch平台版本, 复制到你的工程下.
buijs create -p bingotouch