cttq-mc
Version:
cttqtest
156 lines (152 loc) • 3.54 kB
JavaScript
// axios请求封装
import ajax from '../ajax'
import cttqUtils from '../utils'
require("./h5-js-sdk-1.5.4");
const ttjsapi = {
getSignature(){
return new Promise((resolve, reject) =>{
ajax.post({
// 公共错误提示
publicError: false,
// 请求描述
prompt: '钉钉鉴权获取签名',
url: process.env.VUE_APP_serverUrl + '/dingtalk/ding/auth/sign',
data: {
url: window.location.href,
nonceStr: cttqUtils.randomString(32),
source: "feishu",
appkey: process.env.VUE_APP_feishu_appId
}
})
.then((res) => {
if (res.data.sign) {
window.h5sdk.config({
appId: process.env.VUE_APP_feishu_appId, // 必填,应用ID
timestamp: res.data.time, // 必填,生成签名的时间戳,ms级
nonceStr: res.data.nonceStr, // 必填,生成签名的随机串
signature: res.data.sign, // 必填,签名
jsApiList: [],
onSuccess: function(result) {
//成功回调,可以在成功之后使用tt.xx jsapi
console.log(["success",result])
resolve(result);
},
onFail: function(error) {
console.log(["error",error])
//失败回调
reject(error)
}
});
}else{
reject(res)
}
})
})
},
//免登
login(){
alert(location.href);
location.href = "https://open.feishu.cn/open-apis/authen/v1/index?app_id="+ process.env.VUE_APP_feishu_appId +"&redirect_uri="+encodeURIComponent(window.location.href)
},
/**
* 导航标题
* @params {String} title 标题
*
*/
setTitle(title) {
window.h5sdk.ready(function() {
tt.setNavigationBarTitle({
title: title,
})
})
},
/**
* 设置左侧按钮
* @params {Object{text, event}} params
* @params {function} event
* @params {String} text 标题
*
*/
setLeft(options){
window.h5sdk.ready(function() {
window.h5sdk.biz.navigation.setLeft({
control: options.event!=undefined,
text: options.text?options.text:"返回",
isShowIcon: false,
onSuccess: data => {
if (options.event){
options.event();
}
}
});
})
},
/**
* 设置左侧按钮
* @params {Array[Object,Object]}
* @params {Object{id, text, event}} params
* @params {String} id
* @params {String} text 标题
* @params {function} event
*
*/
setRight(items){
window.h5sdk.ready(function() {
let param = [];
for (let i = 0; i < items.length; i++) {
const item = items[i];
param.push({
index: i,
id: item.id,
text: item.text
})
}
window.h5sdk.biz.navigation.setMenu({
items: param,
onSuccess: data => {
console.log(data);
items[data.index].event();
}
});
})
},
/**
* 打开链接
* @params {Object{url}} params
* @params {String} url 标题
*
*/
openSchema(options){
return new Promise((resolve, reject)=>{
window.h5sdk.ready(function() {
window.tt.openSchema({
schema: options.url,
external: false,
success (res) {
resolve(res)
}
});
})
})
},
/**
* 复制到粘贴版
* @param {[String]} text 要复制粘贴板的内容
*/
clipboardData(text){
return new Promise((resolve, reject) =>{
window.h5sdk.ready(function() {
window.tt.setClipboardData({
data: text, //要复制粘贴板的内容
success : function(res) {
resolve(res)
},
fail: function(res) {
reject(res)
}
})
});
});
},
}
export default ttjsapi;