diff --git a/nginx-https.conf b/nginx-https.conf index 557a107..48e63d2 100644 --- a/nginx-https.conf +++ b/nginx-https.conf @@ -110,9 +110,9 @@ server { client_max_body_size 100M; } - # WPS365 OAuth回调接口(必须放在 /jarvis-api/ 之后,location / 之前) - location /wps365-callback { - proxy_pass http://127.0.0.1:30313/wps365-callback; + # 金山文档 OAuth 回调(须放在 /jarvis-api/ 之后,location / 之前) + location /kdocs-callback { + proxy_pass http://127.0.0.1:30313/kdocs-callback; # 请求头设置 proxy_set_header Host $host; diff --git a/src/api/jarvis/kdocs.js b/src/api/jarvis/kdocs.js new file mode 100644 index 0000000..45301a6 --- /dev/null +++ b/src/api/jarvis/kdocs.js @@ -0,0 +1,97 @@ +import request from '@/utils/request' + +export function getKdocsAuthUrl(state) { + return request({ + url: '/jarvis/kdocs/authUrl', + method: 'get', + params: state ? { state } : {} + }) +} + +export function getKdocsTokenStatus(userId) { + return request({ + url: '/jarvis/kdocs/tokenStatus', + method: 'get', + params: { userId } + }) +} + +export function refreshKdocsToken(data) { + return request({ + url: '/jarvis/kdocs/refreshToken', + method: 'post', + data + }) +} + +export function setKdocsToken(data) { + return request({ + url: '/jarvis/kdocs/setToken', + method: 'post', + data + }) +} + +export function getKdocsUserInfo(userId) { + return request({ + url: '/jarvis/kdocs/userInfo', + method: 'get', + params: { userId } + }) +} + +export function getKdocsFileList(params) { + return request({ + url: '/jarvis/kdocs/files', + method: 'get', + params + }) +} + +export function getKdocsFileInfo(userId, fileToken) { + return request({ + url: '/jarvis/kdocs/fileInfo', + method: 'get', + params: { userId, fileToken } + }) +} + +export function getKdocsSheetList(userId, fileToken) { + return request({ + url: '/jarvis/kdocs/sheets', + method: 'get', + params: { userId, fileToken } + }) +} + +export function createKdocsSheet(data) { + return request({ + url: '/jarvis/kdocs/createSheet', + method: 'post', + data + }) +} + +export function readKdocsCells(params) { + return request({ + url: '/jarvis/kdocs/readCells', + method: 'get', + params + }) +} + +export function updateKdocsCells(data) { + return request({ + url: '/jarvis/kdocs/updateCells', + method: 'post', + data + }) +} + +export function batchUpdateKdocsCells(data) { + return request({ + url: '/jarvis/kdocs/batchUpdateCells', + method: 'post', + data + }) +} diff --git a/src/api/jarvis/wps365.js b/src/api/jarvis/wps365.js deleted file mode 100644 index 0e859af..0000000 --- a/src/api/jarvis/wps365.js +++ /dev/null @@ -1,181 +0,0 @@ -import request from '@/utils/request' - -// ==================== OAuth授权相关 ==================== - -/** - * 获取WPS365授权URL - */ -export function getWPS365AuthUrl(state) { - return request({ - url: '/jarvis/wps365/authUrl', - method: 'get', - params: { state } - }) -} - -/** - * OAuth回调获取访问令牌 - */ -export function getWPS365AccessToken(code) { - return request({ - url: '/jarvis/wps365/oauth/callback', - method: 'get', - params: { code } - }) -} - -/** - * 刷新访问令牌 - */ -export function refreshWPS365Token(data) { - return request({ - url: '/jarvis/wps365/refreshToken', - method: 'post', - data - }) -} - -/** - * 获取token状态 - */ -export function getWPS365TokenStatus(userId) { - return request({ - url: '/jarvis/wps365/tokenStatus', - method: 'get', - params: { userId } - }) -} - -/** - * 设置token(用于手动授权) - */ -export function setWPS365Token(data) { - return request({ - url: '/jarvis/wps365/setToken', - method: 'post', - data - }) -} - -// ==================== 用户信息相关 ==================== - -/** - * 获取用户信息 - */ -export function getWPS365UserInfo(userId) { - return request({ - url: '/jarvis/wps365/userInfo', - method: 'get', - params: { userId } - }) -} - -// ==================== 文件相关 ==================== - -/** - * 获取文件列表 - */ -export function getWPS365FileList(params) { - return request({ - url: '/jarvis/wps365/files', - method: 'get', - params - }) -} - -/** - * 获取文件信息 - */ -export function getWPS365FileInfo(userId, fileToken) { - return request({ - url: '/jarvis/wps365/fileInfo', - method: 'get', - params: { userId, fileToken } - }) -} - -// ==================== 工作表相关 ==================== - -/** - * 获取工作表列表 - */ -export function getWPS365SheetList(userId, fileToken) { - return request({ - url: '/jarvis/wps365/sheets', - method: 'get', - params: { userId, fileToken } - }) -} - -/** - * 创建数据表 - */ -export function createWPS365Sheet(data) { - return request({ - url: '/jarvis/wps365/createSheet', - method: 'post', - data - }) -} - -// ==================== 单元格操作相关 ==================== - -/** - * 读取单元格数据 - */ -export function readWPS365Cells(params) { - return request({ - url: '/jarvis/wps365/readCells', - method: 'get', - params - }) -} - -/** - * 更新单元格数据 - */ -export function updateWPS365Cells(data) { - return request({ - url: '/jarvis/wps365/updateCells', - method: 'post', - data - }) -} - -/** - * 批量更新单元格数据 - */ -export function batchUpdateWPS365Cells(data) { - return request({ - url: '/jarvis/wps365/batchUpdateCells', - method: 'post', - data - }) -} - -// ==================== AirSheet相关 ==================== - -/** - * 读取AirSheet工作表数据 - * @param {Object} params - {userId, fileId, worksheetId(可选,默认0), range(可选)} - */ -export function readWPS365AirSheetCells(params) { - return request({ - url: '/jarvis/wps365/readAirSheetCells', - method: 'get', - params - }) -} - -/** - * 更新AirSheet工作表数据 - * @param {Object} data - {userId, fileId, worksheetId(可选,默认0), range, values} - */ -export function updateWPS365AirSheetCells(data) { - return request({ - url: '/jarvis/wps365/updateAirSheetCells', - method: 'post', - data - }) -} - diff --git a/src/permission.js b/src/permission.js index 43c58fa..b4ede2b 100644 --- a/src/permission.js +++ b/src/permission.js @@ -9,7 +9,7 @@ import { isRelogin } from '@/utils/request' NProgress.configure({ showSpinner: false }) -const whiteList = ['/login', '/register', '/public/home', '/tools/comment-gen', '/tools/order-search', '/public/order-submit', '/wps365-callback', '/tendoc-callback'] +const whiteList = ['/login', '/register', '/public/home', '/tools/comment-gen', '/tools/order-search', '/public/order-submit', '/kdocs-callback', '/tendoc-callback'] const isWhiteList = (path) => { return whiteList.some(pattern => isPathMatch(pattern, path)) diff --git a/src/router/index.js b/src/router/index.js index cc12b25..2e424f3 100644 --- a/src/router/index.js +++ b/src/router/index.js @@ -253,10 +253,10 @@ export const dynamicRoutes = [ meta: { title: '文档同步配置', icon: 'document' } }, { - path: 'wps365', - component: () => import('@/views/jarvis/wps365/index'), - name: 'WPS365Manage', - meta: { title: 'WPS365 在线表格管理', icon: 'document' } + path: 'kdocs', + component: () => import('@/views/jarvis/kdocs/index'), + name: 'KdocsCloudManage', + meta: { title: '金山文档 在线表格', icon: 'document' } } ] }, diff --git a/src/views/jarvis/docSync/components/KdocsCloudConfig.vue b/src/views/jarvis/docSync/components/KdocsCloudConfig.vue new file mode 100644 index 0000000..2effedf --- /dev/null +++ b/src/views/jarvis/docSync/components/KdocsCloudConfig.vue @@ -0,0 +1,444 @@ + + + + + + + + 授权状态 + + + + 已授权 + + + 未授权 + + 立即授权 + 刷新状态 + + + + {{ tokenInfo.userId || '-' }} + + 有效 + 已过期 + + + {{ Math.floor(tokenInfo.expiresIn / 60) }} 分钟 + + + + + + + + + H-TF订单自动写入配置 + 已配置 + 未配置 + + + + + 测试读取 + + + + + + + + + + + + + + + + + + + 保存配置 + 测试配置 + 清除配置 + + + + + + + + + + + + + {{ config.isConfigured ? '配置完成' : '配置未完成' }} + + {{ config.hint || (config.isConfigured ? 'H-TF订单将写入金山文档在线表格(工作表)' : '请完成配置') }} + + + + + + + + 说明 + + + file_token 来自「在线表格管理」文件列表或开放平台文档列表 + 工作表读写使用 KSheet 单元格接口,sheet_idx 与后台 sheet 一致 + 数据表(db)需改用数据表记录类 API,本页为工作表(et)场景 + + + + + + + + + + diff --git a/src/views/jarvis/docSync/components/WPS365Config.vue b/src/views/jarvis/docSync/components/WPS365Config.vue deleted file mode 100644 index 726228a..0000000 --- a/src/views/jarvis/docSync/components/WPS365Config.vue +++ /dev/null @@ -1,563 +0,0 @@ - - - - - - - - - - 授权状态 - - - - 已授权 - - - 未授权 - - - 立即授权 - - - 刷新状态 - - - - - {{ tokenInfo.userId || '-' }} - - 有效 - 已过期 - - - {{ Math.floor(tokenInfo.expiresIn / 60) }} 分钟 - - - - - - - - - - H-TF订单自动写入配置 - - 已配置 - - - 未配置 - - - - - - - 测试读取 - - - - - - - - - - - - - - - - - - - - 保存配置 - - - 测试配置 - - - 清除配置 - - - - - - - - - - - - - - - - {{ config.isConfigured ? '配置完成' : '配置未完成' }} - {{ config.hint || (config.isConfigured ? 'H-TF订单将自动写入WPS365在线表格' : '请完成配置') }} - - - - - - - - - 配置说明 - - - - - 文件ID从WPS365在线表格URL中获取 - - - - 点击"测试读取"验证文件ID是否正确 - - - - 表头行号默认为第2行 - - - - 数据起始行默认为第3行 - - - - - - - - - - - diff --git a/src/views/jarvis/docSync/index.vue b/src/views/jarvis/docSync/index.vue index 0c35892..2eef656 100644 --- a/src/views/jarvis/docSync/index.vue +++ b/src/views/jarvis/docSync/index.vue @@ -16,11 +16,11 @@ - + - WPS365 + 金山文档 - + @@ -29,13 +29,13 @@ + + diff --git a/src/views/jarvis/wps365/index.vue b/src/views/jarvis/wps365/index.vue deleted file mode 100644 index dbf95cd..0000000 --- a/src/views/jarvis/wps365/index.vue +++ /dev/null @@ -1,453 +0,0 @@ - - - - - WPS365 在线表格管理 - - 刷新 - - - - - - - 请先完成WPS365授权,才能使用文档编辑功能 - - 立即授权 - - - - - - - 授权状态:正常 - - 刷新Token - - - - - - - 用户信息 - - {{ userInfo.user_id || '-' }} - {{ userInfo.name || '-' }} - {{ userInfo.email || '-' }} - - - - - - - 文件列表 - - 加载文件 - - - - - - - - - - 查看 - - - 编辑 - - - - - - - - - - - - - - - - - - - - - - - 读取数据 - 保存数据 - - - - - - - - - - - - - - - - - - - - - diff --git a/src/views/system/jdorder/orderList.vue b/src/views/system/jdorder/orderList.vue index f9c3f08..46a2d08 100644 --- a/src/views/system/jdorder/orderList.vue +++ b/src/views/system/jdorder/orderList.vue @@ -2276,14 +2276,14 @@ export default { // 认领人:buyer const buyer = row.buyer || '' - // 下单日期:orderTime,格式yyyyMMdd + // 下单日期:orderTime,格式 yyyy/MM/dd(如 2020/03/03) let orderDateStr = '' if (row.orderTime) { const orderDate = new Date(row.orderTime) const year = orderDate.getFullYear() const month = String(orderDate.getMonth() + 1).padStart(2, '0') const day = String(orderDate.getDate()).padStart(2, '0') - orderDateStr = `${year}${month}${day}` + orderDateStr = `${year}/${month}/${day}` } // 按顺序拼接:发过运营、需要重发运营、已经重发、需要二次重发运营、二次重发、单号、型号、返现金额(团长)、晒单金额(主图没标)、总共返现、确认收货日期、认领人、下单日期