import { AxiosResponse } from "axios"; import EventEmitter = require("events"); import * as vscode from "vscode"; import { uiRes, draftRes, IUiRes, IDraftRes } from '../mock'; import { checkIsLogin } from '../command/login'; import { getDesigns,getBlogs } from '../service'; import _ from '../utils/lodash'; export class SidebarProvider implements vscode.WebviewViewProvider { _view?: vscode.WebviewView; _doc?: vscode.TextDocument; _state?: any; constructor(private readonly _extensionUri: vscode.Uri, private _context: vscode.ExtensionContext) { } public async resolveWebviewView(webviewView: vscode.WebviewView) { this._view = webviewView; webviewView.webview.options = { // Allow scripts in the webview enableScripts: true, localResourceRoots: [this._extensionUri], }; this.fetchData(webviewView); // try { // const {name} = await checkIsLogin(); // const result = await getDesigns(name); // const lists = _.get(result, 'data',[]); // console.log('result',result) // const dRes: IDraftRes[] = lists; // const result2 = await getBlogs(); // const uRes: IUiRes = _.get(result2, 'data',{});; // console.log('res', vscode.env) // let env = vscode.env; // webviewView.webview.html = this._getHtmlForWebview( // webviewView.webview, // uRes, // dRes, // ); // } catch (error) { // console.log('err') // return; // } } private async fetchData(webviewView?:vscode.WebviewView) { try { const {name} = await checkIsLogin(); const result = await getDesigns(name); const lists = _.get(result, 'data',[]); const dRes: IDraftRes[] = lists; const result2 = await getBlogs(); const uRes: IUiRes = _.get(result2, 'data', {}); if (webviewView) { webviewView.webview.html = this._getHtmlForWebview( webviewView.webview, uRes, dRes, ); } } catch (error) { console.log('err') return; } } public refresh() { this.fetchData(this._view); } private _getHtmlForWebview( webview: vscode.Webview, uRes: IUiRes, dRes: IDraftRes[], ) { return `