Skip to content

数据访问层sdk组件

1.组件安装引入

  前端项目中需要与后端数据服务进行交互,则需要此组件,该组件封装了与后端数据服务交互的接口,方便前端项目调用。该组件中包含了大量的方法可以直接调用。

  1. 使用pnpm 安装依赖
js
pnpm install  @bdsoft/auth
  1. 项目页面中添加引用,在src下新建api文件夹,下面新建newrabbit.js文件,添加如下代码并修改配置变量: iport code wdkName appid appkey
js
import bdauth from '@bdsoft/auth'
// 集成测试 默認返回用戶信息  
const iport = '数据服务地址' // 
const code = 'code码' // 必填项 
const wdkName = '上传目录名' // 
const appid = '数据服务appid' //
const appkey = '数据服务appkey' //
const logUrl = 'ptService/syslog/userlog'
// 初始化集成库
export let bdsdk = bdauth.init(iport, code, appid, appkey, logUrl, wdkName)

const {
rabbit,
getTicketAndUser,
refreshToken,
getBaseImgUrl,
addLogs,
getData,
postUseData,
getUseData,
addInfo,
motifyInfo,
uploadDoc,
getTicketTmp,
getFileUrl,
saveInfo,
removeInfo,
_getData,
_saveData,
_deleteData,
_motifyData,
_addData,
getConInfo,
getDataBaseTable,
doTransaction,
executeSQL
} = bdsdk
const { setCookieKey, getCookieKey, decode, encode, desEncrypt, desDecrypt, md5Encrypt } = bdauth

export { getTicketAndUser, refreshToken, rabbit, addLogs }
export { getData, addInfo, motifyInfo, removeInfo, saveInfo }
export { postUseData, getUseData, getConInfo, getDataBaseTable, doTransaction, executeSQL }
export { _getData, _saveData, _deleteData, _motifyData, _addData }
export { setCookieKey, getCookieKey, uploadDoc, getFileUrl, getTicketTmp, getBaseImgUrl }
// base64 加解密
export { decode, encode }
//密码加密解密
export { desEncrypt, desDecrypt, md5Encrypt }
  1. 变量说明
参数类型必须描述默认值
iportstring数据服务HTTP地址如:http://123.129.65.205:18010
codestring数据服务注册码,数据服务--服务--授权码管理中注册
wdkNamestring文件上传目录名(在服务器-数据服务配置.exe--文档存储标识)
appidstring数据服务appid,数据服务--服务--授权码管理中注册
appkeystring数据服务appkey,数据服务--服务--授权码管理中注册
logUrlstring平台日志服务地址

2.组件使用

项目目录如下:一般CURD的方法调用我们剥离到src/api目录下,如xm.js

├── node_modules
├── public
│   ├── index.html:主页面
│   └── favicon.ico:页签图标
├── src
│   ├── api:公共接口包
│       ├──── newrabbit.js:sdk公共配置
│       └──── xm.js:页面模块方法包

TIP

注意:下面的URL地址皆为示例,请根据实际情况修改

添加方法

  1. src/api/xm.js中添加方法
js
import { _addData } from '@/api/newrabbit'

数据服务接口地址(在数据服务中复制即可)
export let userListUrl = 'ptService/user/userinfo' 
/**
 *  添加xxx信息
 * @param {*} parms
 * @returns
 */
export function addUser(parms) {
  return _addData(userListUrl, parms)
}
  1. 页面中进行调用
js
import {  onMounted } from "vue";
import { addUser } from '@/api/xm.js'

// 添加用户
const _addUser = (forms)=>{
    // 这里做form表单验证
    addUser(forms).then(res => {
    console.log(res)
  })
}

删除方法

  1. src/api/xm.js中添加方法
js
import { _deleteData } from '@/api/newrabbit'

数据服务接口地址(在数据服务中复制即可)
export let userListUrl = 'ptService/user/userinfo' 
/**
 *  删除xxx信息
 * @param {*} parms
 * @returns
 */
export function delUser(parms) {
  return _deleteData(userListUrl, parms)
}
  1. 页面中进行调用
js
import {  onMounted } from "vue";
import { delUser } from '@/api/xm.js'

// 删除用户
const _delUser = (forms)=>{
    // 这里做form表单验证
    delUser(forms).then(res => {
    console.log(res)
  })
}

修改方法

  1. src/api/xm.js中添加方法
js
import { _motifyData } from '@/api/newrabbit'

数据服务接口地址(在数据服务中复制即可)
export let userListUrl = 'ptService/user/userinfo' 
/**
 *  修改xxx信息
 * @param {*} parms
 * @returns
 */
export function editUser(parms) {
  return _motifyData(userListUrl, parms)
}
  1. 页面中进行调用
js
import {  onMounted } from "vue";
import { editUser } from '@/api/xm.js'

// 修改用户
const _editUser = (forms)=>{
    // 这里做form表单验证
    editUser(forms).then(res => {
    console.log(res)
  })
}

查询方法

  1. src/api/xm.js中添加方法
js
import { _getData } from '@/api/newrabbit'

数据服务接口地址(在数据服务中复制即可)
export let userListUrl = 'ptService/user/userinfo' 
/**
 *  查询xxx信息
 * @param {*} parms
 * @returns
 */
export function getUser(parms) {
  return _getData(userListUrl, parms)
}
  1. 页面中进行调用
js
import {  onMounted } from "vue";
import { getUser } from '@/api/xm.js'

// 查询用户
const _getUser = (forms)=>{
    // 这里做form表单验证
    getUser(forms).then(res => {
    console.log(res)
  })
}

保存方法

TIP

注意:用法跟增删改查一致,保存和添加、修改的区别是提交数据存在根据主键更新不存在则添加

import { _saveData } from '@/api/newrabbit'

获取图片完整路径

js
import { getBaseImgUrl } from '@/api/newrabbit.js'
let imgUrl =getBaseImgUrl('图片相对路径')

添加日志

js
import { addLogs } from '@/api/newrabbit.js'

addLogs({
    logtype: 1,
    logtitle: '用户注销',
    user_id: _this.login,
    logdetail: 'Web端,用户注销'
})
参数类型必须描述默认值
logtypenumber日志类型:0 登录 1 注销 2访问 3修改 4删除 5添加操作日志 6异常 7预览 8搜索
logidstring用户id
logtitlestring日志标题
logdetailstring日志描述

加密解密

js
//  base64 加解密
import { decode, encode } from '@/api/newrabbit.js'
// des 加解密
import { desEncrypt, desDecrypt } from '@/api/newrabbit.js'
// md5加密
import { md5Encrypt  } from '@/api/newrabbit.js'

高级接口方法

WARNING

注意:下面的方法多配合复杂逻辑进行处理,这里暂没有进行过多说明,后续慢慢完善

方法名说明参数
getTicketAndUser获取临时票据和用户信息(平台登录时使用)传递用户名和密码
refreshToken刷新临时票据(平台登录时使用)ticket
setTicket存储ticketvalue
rabbit获取rabbit对象ticket
addLogs添加日志接口logUrl,logInfo
saveTable单表批量保存入库table, datas, dbConfig
saveTables多表批量保存入库table, datas, dbConfig
executeSQL连接第三方数据库并执行sqldbConfig, sql, header, parm, isConn = true
executeSQLs连接第三方数据库并批量执行sqldbConfig, sql, header, parm
execSQL直接根据连接串查询connStr, dbType, sql, header, parm, isConn = true
execPorc根据数据连接执行存储过程connStr, dbType, name, vars, header = {}, params = {}
doTransaction执行多个服务接口事务执行parms 数组
getDataBaseTable根据数据连接获取数据表connStr, dbType, sql, header = {}, param = {}
uploadDoc获取文档上传路径code
getConInfo获取数据库连接dbentity 连接对象