UNPKG

cttq-mc

Version:

cttqtest

156 lines (152 loc) 3.54 kB
// 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;