0.0.2 • Published 2 years ago

@syyfe/syy-image-server v0.0.2

Weekly downloads
-
License
ISC
Repository
-
Last release
2 years ago

商业云图片服务

开发模式下,开启本地服务器代理访问图片,生产模式时,将小程序内的图片上传到阿里云或七牛云.@syyfe/syy-mp-service内置库。

目前支持:腾讯云、阿里云、七牛、UCloud

开发模式支持本地资源文件预览

avatar

安装

npm i @syyfe/syy-image-server -S

使用

import { SyyImageServer, IOptions } from "@syyfe/syy-image-server";

const options: IOptions = {
    path: "当前文件夹",
    port: 8989,
    oss: {
        type: "TENCENT",
        options: {
            secretId: "--",
            secretKey: "--",
            bucket: "--",
            region: "--",
            prefix: `--`,
            accessDomain: "--",
            https: true
        }
    }
};

(async (): Promise<void> => {
    const imageOperator = new SyyImageServer(options);
    await imageOperator.Server();
    await imageOperator.Upload();

    console.log(
        imageOperator.GetNetURI(
            "/Users/zhendao/Desktop/Code/framework/syy-mp-new/packages/examples/src/assets/images/auth/4ecbb50f-4c83-4fd5-b940-cf414d06102e.png"
        )
    );
})();

相关配置

/**
 * 阿里配置
 */
export interface IAliOptions {
    bucket: string;
    region: string;
    prefix: string;
    accessKeyId: string;
    accessKeySecret: string;
    fileType?: RegExp;
}

/**
 * 七牛配置
 */
export interface IQiNiuOptions {
    zone: string;
    accessKey: string;
    secretKey: string;
    bucket: string;
    prefix: string;
    domain: string;
    https: boolean;
    fileType?: RegExp;
}

/**
 * Ucloud配置
 */
export interface IUcloudOptions {
    accessKeyId: string;
    secretAccessKey: string;
    bucket: string;
    prefix: string;
    endpoint: string;
    sslEnabled: boolean;
    fileType?: RegExp;
    accessDomain?: string;
}

/**
 * 腾讯OSS配置
 */
export interface ITencentOptions {
    secretId: string;
    secretKey: string;
    bucket: string;
    region: string;
    prefix: string;
    accessDomain: string;
    https: boolean;
    fileType?: RegExp;
}

export interface IOSSOptions {
    type: OSSType;
    options: ITencentOptions | IUcloudOptions | IQiNiuOptions | IAliOptions;
}

export interface IOptions {
    path: string;
    port?: number;
    oss: IOSSOptions;
}

export interface IOSSServer {
    /**
     * 检查文件是否存在
     * @param objectName 文件名称
     */
    CheckFileUpStatus(objectName: string);

    /**
     * 上传文件
     * @param objectName 文件名称
     * @param localFile 当前文件
     */
    Upload(objectName: string, localFile: string);

    /**
     * 上传成功后,获取上传后的图片地址
     * @memberof SyyImageServer
     */
    GetNetURI(localFile): string | void;
}

感谢

本库参考了 megalo-image-service 部分代码