mirror of
https://github.com/cool-team-official/cool-admin-midway.git
synced 2024-11-01 22:20:30 +08:00
去除原有的文件上传,改为插件方式
This commit is contained in:
parent
4bc46fbf7a
commit
f5b4fd572a
@ -7,7 +7,6 @@
|
|||||||
"@cool-midway/cache-manager-fs-hash": "^7.0.0",
|
"@cool-midway/cache-manager-fs-hash": "^7.0.0",
|
||||||
"@cool-midway/cloud": "^7.0.0",
|
"@cool-midway/cloud": "^7.0.0",
|
||||||
"@cool-midway/core": "^7.1.4",
|
"@cool-midway/core": "^7.1.4",
|
||||||
"@cool-midway/file": "^7.0.5",
|
|
||||||
"@cool-midway/iot": "^7.0.0",
|
"@cool-midway/iot": "^7.0.0",
|
||||||
"@cool-midway/rpc": "^7.0.0",
|
"@cool-midway/rpc": "^7.0.0",
|
||||||
"@cool-midway/task": "^7.0.0",
|
"@cool-midway/task": "^7.0.0",
|
||||||
|
@ -10,8 +10,8 @@ import * as localTask from '@midwayjs/task';
|
|||||||
// import * as crossDomain from '@midwayjs/cross-domain';
|
// import * as crossDomain from '@midwayjs/cross-domain';
|
||||||
import * as cool from '@cool-midway/core';
|
import * as cool from '@cool-midway/core';
|
||||||
import * as cloud from '@cool-midway/cloud';
|
import * as cloud from '@cool-midway/cloud';
|
||||||
import * as file from '@cool-midway/file';
|
|
||||||
import { ILogger } from '@midwayjs/logger';
|
import { ILogger } from '@midwayjs/logger';
|
||||||
|
import * as upload from '@midwayjs/upload';
|
||||||
import { IMidwayApplication } from '@midwayjs/core';
|
import { IMidwayApplication } from '@midwayjs/core';
|
||||||
// import * as swagger from '@midwayjs/swagger';
|
// import * as swagger from '@midwayjs/swagger';
|
||||||
// import * as rpc from '@cool-midway/rpc';
|
// import * as rpc from '@cool-midway/rpc';
|
||||||
@ -34,10 +34,10 @@ import { IMidwayApplication } from '@midwayjs/core';
|
|||||||
validate,
|
validate,
|
||||||
// 本地任务 http://midwayjs.org/docs/legacy/task
|
// 本地任务 http://midwayjs.org/docs/legacy/task
|
||||||
localTask,
|
localTask,
|
||||||
|
// 文件上传
|
||||||
|
upload,
|
||||||
// cool-admin 官方组件 https://cool-js.com
|
// cool-admin 官方组件 https://cool-js.com
|
||||||
cool,
|
cool,
|
||||||
// 文件上传 本地 阿里云存储 腾讯云存储 七牛云存储
|
|
||||||
file,
|
|
||||||
// rpc 微服务 远程调用
|
// rpc 微服务 远程调用
|
||||||
// rpc,
|
// rpc,
|
||||||
// 任务与队列
|
// 任务与队列
|
||||||
|
@ -5,7 +5,7 @@ import { BaseSysLoginService } from '../../service/sys/login';
|
|||||||
import { BaseSysPermsService } from '../../service/sys/perms';
|
import { BaseSysPermsService } from '../../service/sys/perms';
|
||||||
import { BaseSysUserService } from '../../service/sys/user';
|
import { BaseSysUserService } from '../../service/sys/user';
|
||||||
import { Context } from '@midwayjs/koa';
|
import { Context } from '@midwayjs/koa';
|
||||||
import { CoolFile } from '@cool-midway/file';
|
import { PluginService } from '../../../plugin/service/info';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Base 通用接口 一般写不需要权限过滤的接口
|
* Base 通用接口 一般写不需要权限过滤的接口
|
||||||
@ -26,7 +26,7 @@ export class BaseCommController extends BaseController {
|
|||||||
ctx: Context;
|
ctx: Context;
|
||||||
|
|
||||||
@Inject()
|
@Inject()
|
||||||
coolFile: CoolFile;
|
pluginService: PluginService;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 获得个人信息
|
* 获得个人信息
|
||||||
@ -60,7 +60,8 @@ export class BaseCommController extends BaseController {
|
|||||||
*/
|
*/
|
||||||
@Post('/upload', { summary: '文件上传' })
|
@Post('/upload', { summary: '文件上传' })
|
||||||
async upload() {
|
async upload() {
|
||||||
return this.ok(await this.coolFile.upload(this.ctx));
|
const file = await this.pluginService.getInstance('upload');
|
||||||
|
return this.ok(await file.upload(this.ctx));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -68,7 +69,8 @@ export class BaseCommController extends BaseController {
|
|||||||
*/
|
*/
|
||||||
@Get('/uploadMode', { summary: '文件上传模式' })
|
@Get('/uploadMode', { summary: '文件上传模式' })
|
||||||
async uploadMode() {
|
async uploadMode() {
|
||||||
return this.ok(await this.coolFile.getMode());
|
const file = await this.pluginService.getInstance('upload');
|
||||||
|
return this.ok(await file.getMode());
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
@ -12,7 +12,58 @@ export class OpenDemoPluginController extends BaseController {
|
|||||||
|
|
||||||
@Get('/invoke', { summary: '调用插件' })
|
@Get('/invoke', { summary: '调用插件' })
|
||||||
async invoke() {
|
async invoke() {
|
||||||
const result = await this.pluginService.invoke('test', 'show', 1, 2);
|
const plugin = await this.pluginService.getInstance('pay-ali');
|
||||||
return this.ok(result);
|
|
||||||
|
// 获得插件配置
|
||||||
|
const config = await plugin['getConfig']();
|
||||||
|
|
||||||
|
// 生成订单号
|
||||||
|
const orderNum = plugin['createOrderNum']();
|
||||||
|
|
||||||
|
// 获得支付SDK实例
|
||||||
|
const instance = await plugin.getInstance();
|
||||||
|
|
||||||
|
// 调用支付接口
|
||||||
|
const result = instance.pageExec('alipay.trade.page.pay', {
|
||||||
|
notify_url: config.notifyUrl,
|
||||||
|
bizContent: {
|
||||||
|
out_trade_no: orderNum,
|
||||||
|
total_amount: '0.01',
|
||||||
|
subject: '测试',
|
||||||
|
product_code: 'FAST_INSTANT_TRADE_PAY',
|
||||||
|
body: '测试订单',
|
||||||
|
qr_pay_mode: '2',
|
||||||
|
},
|
||||||
|
});
|
||||||
|
|
||||||
|
console.log(result);
|
||||||
|
|
||||||
|
// 获得插件实例
|
||||||
|
// const plugin = await this.pluginService.getInstance('pay-wx');
|
||||||
|
|
||||||
|
// // 获得插件配置
|
||||||
|
// const config = await plugin['getConfig']();
|
||||||
|
|
||||||
|
// // 生成订单号
|
||||||
|
// const orderNum = plugin['createOrderNum']();
|
||||||
|
|
||||||
|
// // 获得微信支付 SDK 实例
|
||||||
|
// const instance = await plugin['getInstance']();
|
||||||
|
|
||||||
|
// // Native,返回的信息可以直接生成二维码,用户扫码支付
|
||||||
|
// const params = {
|
||||||
|
// description: '测试',
|
||||||
|
// out_trade_no: orderNum,
|
||||||
|
// notify_url: config.notify_url,
|
||||||
|
// amount: {
|
||||||
|
// total: 1,
|
||||||
|
// },
|
||||||
|
// scene_info: {
|
||||||
|
// payer_client_ip: 'ip',
|
||||||
|
// },
|
||||||
|
// };
|
||||||
|
// const result = await instance.transactions_native(params);
|
||||||
|
// console.log(result);
|
||||||
|
return this.ok();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,7 +1,8 @@
|
|||||||
import { CoolEvent, Event } from '@cool-midway/core';
|
import { CoolEvent, Event } from '@cool-midway/core';
|
||||||
import { App, Config, ILogger, Logger } from '@midwayjs/core';
|
import { App, Config, ILogger, Inject, Logger } from '@midwayjs/core';
|
||||||
import { IMidwayKoaApplication } from '@midwayjs/koa';
|
import { IMidwayKoaApplication } from '@midwayjs/koa';
|
||||||
import { PluginCenterService } from '../service/center';
|
import { PLUGIN_CACHE_KEY, PluginCenterService } from '../service/center';
|
||||||
|
import { CacheManager } from '@midwayjs/cache';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 修改jwt.secret
|
* 修改jwt.secret
|
||||||
@ -17,8 +18,12 @@ export class BaseAppEvent {
|
|||||||
@App()
|
@App()
|
||||||
app: IMidwayKoaApplication;
|
app: IMidwayKoaApplication;
|
||||||
|
|
||||||
|
@Inject()
|
||||||
|
cacheManager: CacheManager;
|
||||||
|
|
||||||
@Event('onServerReady')
|
@Event('onServerReady')
|
||||||
async onServerReady() {
|
async onServerReady() {
|
||||||
await this.app.getApplicationContext().getAsync(PluginCenterService);
|
await this.cacheManager.set(PLUGIN_CACHE_KEY, []);
|
||||||
|
this.app.getApplicationContext().getAsync(PluginCenterService);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -52,5 +52,5 @@ export interface BaseUpload {
|
|||||||
* @param ctx
|
* @param ctx
|
||||||
* @param key 文件路径
|
* @param key 文件路径
|
||||||
*/
|
*/
|
||||||
upload(ctx): Promise<any>;
|
upload(ctx): Promise<string>;
|
||||||
}
|
}
|
||||||
|
@ -3,6 +3,7 @@ import {
|
|||||||
App,
|
App,
|
||||||
IMidwayApplication,
|
IMidwayApplication,
|
||||||
Init,
|
Init,
|
||||||
|
Inject,
|
||||||
Scope,
|
Scope,
|
||||||
ScopeEnum,
|
ScopeEnum,
|
||||||
} from '@midwayjs/core';
|
} from '@midwayjs/core';
|
||||||
@ -13,6 +14,9 @@ import { InjectEntityModel } from '@midwayjs/typeorm';
|
|||||||
import { Repository } from 'typeorm';
|
import { Repository } from 'typeorm';
|
||||||
import { PluginInfo } from '../interface';
|
import { PluginInfo } from '../interface';
|
||||||
import * as _ from 'lodash';
|
import * as _ from 'lodash';
|
||||||
|
import { CacheManager } from '@midwayjs/cache';
|
||||||
|
|
||||||
|
export const PLUGIN_CACHE_KEY = 'PLUGIN_INIT';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 插件中心
|
* 插件中心
|
||||||
@ -32,11 +36,18 @@ export class PluginCenterService {
|
|||||||
@InjectEntityModel(PluginInfoEntity)
|
@InjectEntityModel(PluginInfoEntity)
|
||||||
pluginInfoEntity: Repository<PluginInfoEntity>;
|
pluginInfoEntity: Repository<PluginInfoEntity>;
|
||||||
|
|
||||||
|
@Inject()
|
||||||
|
cacheManager: CacheManager;
|
||||||
|
|
||||||
@Init()
|
@Init()
|
||||||
async init() {
|
async init() {
|
||||||
|
const inits: any[] = (await this.cacheManager.get(PLUGIN_CACHE_KEY)) || [];
|
||||||
|
const pid = process.pid;
|
||||||
|
if (inits.includes(pid)) return;
|
||||||
this.plugins.clear();
|
this.plugins.clear();
|
||||||
await this.initHooks();
|
await this.initHooks();
|
||||||
await this.initPlugin();
|
await this.initPlugin();
|
||||||
|
await this.cacheManager.set(PLUGIN_CACHE_KEY, inits.concat([process.pid]));
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@ -75,17 +86,25 @@ export class PluginCenterService {
|
|||||||
/**
|
/**
|
||||||
* 初始化插件
|
* 初始化插件
|
||||||
*/
|
*/
|
||||||
async initPlugin() {
|
async initPlugin(hook?: string) {
|
||||||
const plugins = await this.pluginInfoEntity.findBy({ status: 1 });
|
const find: any = { status: 1 };
|
||||||
|
if (hook) {
|
||||||
|
find.hook = hook;
|
||||||
|
}
|
||||||
|
const plugins = await this.pluginInfoEntity.findBy(find);
|
||||||
for (const plugin of plugins) {
|
for (const plugin of plugins) {
|
||||||
const instance = await this.getInstance(plugin.content.data);
|
const instance = await this.getInstance(plugin.content.data);
|
||||||
this.pluginInfos.set(plugin.keyName, {
|
|
||||||
...plugin.pluginJson,
|
|
||||||
config: this.getConfig(plugin.config),
|
|
||||||
});
|
|
||||||
if (plugin.hook) {
|
if (plugin.hook) {
|
||||||
|
this.pluginInfos.set(plugin.hook, {
|
||||||
|
...plugin.pluginJson,
|
||||||
|
config: this.getConfig(plugin.config),
|
||||||
|
});
|
||||||
await this.register(plugin.hook, instance);
|
await this.register(plugin.hook, instance);
|
||||||
} else {
|
} else {
|
||||||
|
this.pluginInfos.set(plugin.keyName, {
|
||||||
|
...plugin.pluginJson,
|
||||||
|
config: this.getConfig(plugin.config),
|
||||||
|
});
|
||||||
await this.register(plugin.keyName, instance);
|
await this.register(plugin.keyName, instance);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -3,11 +3,12 @@ import { BaseService, CoolCommException } from '@cool-midway/core';
|
|||||||
import { InjectEntityModel } from '@midwayjs/typeorm';
|
import { InjectEntityModel } from '@midwayjs/typeorm';
|
||||||
import { Equal, Not, Repository } from 'typeorm';
|
import { Equal, Not, Repository } from 'typeorm';
|
||||||
import { PluginInfoEntity } from '../entity/info';
|
import { PluginInfoEntity } from '../entity/info';
|
||||||
import { IMidwayApplication, IMidwayContext } from '@midwayjs/core';
|
import { Config, IMidwayApplication, IMidwayContext } from '@midwayjs/core';
|
||||||
import * as _ from 'lodash';
|
import * as _ from 'lodash';
|
||||||
import { PluginInfo } from '../interface';
|
import { PluginInfo } from '../interface';
|
||||||
import { PluginCenterService } from './center';
|
import { PLUGIN_CACHE_KEY, PluginCenterService } from './center';
|
||||||
import * as fs from 'fs';
|
import * as fs from 'fs';
|
||||||
|
import { CacheManager } from '@midwayjs/cache';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 插件信息
|
* 插件信息
|
||||||
@ -26,12 +27,26 @@ export class PluginService extends BaseService {
|
|||||||
@Inject()
|
@Inject()
|
||||||
pluginCenterService: PluginCenterService;
|
pluginCenterService: PluginCenterService;
|
||||||
|
|
||||||
|
@Config('module.plugin.hooks')
|
||||||
|
hooksConfig;
|
||||||
|
|
||||||
|
@Inject()
|
||||||
|
cacheManager: CacheManager;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 初始化
|
* 初始化
|
||||||
* @param data
|
* @param data
|
||||||
* @param type
|
* @param type
|
||||||
*/
|
*/
|
||||||
async modifyAfter() {
|
async modifyAfter() {
|
||||||
|
await this.reInit();
|
||||||
|
}
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 需要重新初始化插件
|
||||||
|
*/
|
||||||
|
async reInit() {
|
||||||
|
await this.cacheManager.set(PLUGIN_CACHE_KEY, []);
|
||||||
await this.pluginCenterService.init();
|
await this.pluginCenterService.init();
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -79,6 +94,7 @@ export class PluginService extends BaseService {
|
|||||||
*/
|
*/
|
||||||
async getInstance(key: string) {
|
async getInstance(key: string) {
|
||||||
await this.checkStatus(key);
|
await this.checkStatus(key);
|
||||||
|
await this.pluginCenterService.init();
|
||||||
const instance = new (await this.pluginCenterService.plugins.get(key))();
|
const instance = new (await this.pluginCenterService.plugins.get(key))();
|
||||||
await instance.init(
|
await instance.init(
|
||||||
this.pluginCenterService.pluginInfos.get(key),
|
this.pluginCenterService.pluginInfos.get(key),
|
||||||
@ -93,10 +109,13 @@ export class PluginService extends BaseService {
|
|||||||
* @param key
|
* @param key
|
||||||
*/
|
*/
|
||||||
async checkStatus(key: string) {
|
async checkStatus(key: string) {
|
||||||
const info = await this.pluginInfoEntity.findOneBy({
|
if (Object.keys(this.hooksConfig).includes(key)) {
|
||||||
keyName: Equal(key),
|
return;
|
||||||
status: 1,
|
}
|
||||||
});
|
const info = await this.pluginInfoEntity
|
||||||
|
.createQueryBuilder('a')
|
||||||
|
.where({ status: 1, keyName: Equal(key) })
|
||||||
|
.getOne();
|
||||||
if (!info) {
|
if (!info) {
|
||||||
throw new CoolCommException('插件不存在或已禁用');
|
throw new CoolCommException('插件不存在或已禁用');
|
||||||
}
|
}
|
||||||
@ -232,6 +251,6 @@ export class PluginService extends BaseService {
|
|||||||
await this.pluginInfoEntity.insert(data);
|
await this.pluginInfoEntity.insert(data);
|
||||||
}
|
}
|
||||||
// 初始化插件
|
// 初始化插件
|
||||||
await this.pluginCenterService.init();
|
await this.reInit();
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
import { Config, Get, Provide } from '@midwayjs/decorator';
|
import { Provide } from '@midwayjs/decorator';
|
||||||
import { CoolController, BaseController } from '@cool-midway/core';
|
import { CoolController, BaseController } from '@cool-midway/core';
|
||||||
import { SpaceInfoEntity } from '../../entity/info';
|
import { SpaceInfoEntity } from '../../entity/info';
|
||||||
import { SpaceInfoService } from '../../service/info';
|
import { SpaceInfoService } from '../../service/info';
|
||||||
|
@ -1,8 +1,9 @@
|
|||||||
import { SpaceInfoEntity } from './../entity/info';
|
import { SpaceInfoEntity } from './../entity/info';
|
||||||
import { Config, Provide } from '@midwayjs/decorator';
|
import { Inject, Provide } from '@midwayjs/decorator';
|
||||||
import { BaseService, CoolFileConfig, MODETYPE } from '@cool-midway/core';
|
import { BaseService, MODETYPE } from '@cool-midway/core';
|
||||||
import { InjectEntityModel } from '@midwayjs/typeorm';
|
import { InjectEntityModel } from '@midwayjs/typeorm';
|
||||||
import { Repository } from 'typeorm';
|
import { Repository } from 'typeorm';
|
||||||
|
import { PluginService } from '../../plugin/service/info';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 文件信息
|
* 文件信息
|
||||||
@ -12,15 +13,17 @@ export class SpaceInfoService extends BaseService {
|
|||||||
@InjectEntityModel(SpaceInfoEntity)
|
@InjectEntityModel(SpaceInfoEntity)
|
||||||
spaceInfoEntity: Repository<SpaceInfoEntity>;
|
spaceInfoEntity: Repository<SpaceInfoEntity>;
|
||||||
|
|
||||||
@Config('cool.file')
|
@Inject()
|
||||||
config: CoolFileConfig;
|
pluginService: PluginService;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 新增
|
* 新增
|
||||||
*/
|
*/
|
||||||
async add(param) {
|
async add(param) {
|
||||||
if (this.config.mode == MODETYPE.LOCAL) {
|
const result = await this.pluginService.invoke('upload', 'getMode');
|
||||||
param.key = param.url.replace(this.config.domain, '');
|
const config = await this.pluginService.getConfig('upload');
|
||||||
|
if (result.mode == MODETYPE.LOCAL) {
|
||||||
|
param.key = param.url.replace(config.domain, '');
|
||||||
}
|
}
|
||||||
return super.add(param);
|
return super.add(param);
|
||||||
}
|
}
|
||||||
|
@ -41,7 +41,7 @@ export default () => {
|
|||||||
// 刷新token 过期时间,单位秒
|
// 刷新token 过期时间,单位秒
|
||||||
refreshExpire: 60 * 60 * 24 * 30,
|
refreshExpire: 60 * 60 * 24 * 30,
|
||||||
// jwt 秘钥
|
// jwt 秘钥
|
||||||
secret: 'cool-app-xxxxxx',
|
secret: '98591b81ce3111eebb6f5ba31567ea59',
|
||||||
},
|
},
|
||||||
} as ModuleConfig;
|
} as ModuleConfig;
|
||||||
};
|
};
|
||||||
|
11
src/modules/user/controller/admin/address.ts
Normal file
11
src/modules/user/controller/admin/address.ts
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
import { CoolController, BaseController } from '@cool-midway/core';
|
||||||
|
import { UserAddressEntity } from '../../entity/address';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 用户-地址
|
||||||
|
*/
|
||||||
|
@CoolController({
|
||||||
|
api: ['add', 'delete', 'update', 'info', 'list', 'page'],
|
||||||
|
entity: UserAddressEntity,
|
||||||
|
})
|
||||||
|
export class AdminUserAddressesController extends BaseController {}
|
34
src/modules/user/entity/address.ts
Normal file
34
src/modules/user/entity/address.ts
Normal file
@ -0,0 +1,34 @@
|
|||||||
|
import { BaseEntity } from '@cool-midway/core';
|
||||||
|
import { Entity, Column, Index } from 'typeorm';
|
||||||
|
|
||||||
|
/**
|
||||||
|
* 用户模块-收货地址
|
||||||
|
*/
|
||||||
|
@Entity('user_address')
|
||||||
|
export class UserAddressEntity extends BaseEntity {
|
||||||
|
@Index()
|
||||||
|
@Column({ comment: '用户ID' })
|
||||||
|
userId: number;
|
||||||
|
|
||||||
|
@Column({ comment: '联系人' })
|
||||||
|
contact: string;
|
||||||
|
|
||||||
|
@Index()
|
||||||
|
@Column({ comment: '手机号', length: 11 })
|
||||||
|
phone: string;
|
||||||
|
|
||||||
|
@Column({ comment: '省' })
|
||||||
|
province: string;
|
||||||
|
|
||||||
|
@Column({ comment: '市' })
|
||||||
|
city: string;
|
||||||
|
|
||||||
|
@Column({ comment: '区' })
|
||||||
|
district: string;
|
||||||
|
|
||||||
|
@Column({ comment: '地址' })
|
||||||
|
address: string;
|
||||||
|
|
||||||
|
@Column({ comment: '是否默认', default: false })
|
||||||
|
isDefault: boolean;
|
||||||
|
}
|
@ -3,10 +3,10 @@ import { BaseService, CoolCommException } from '@cool-midway/core';
|
|||||||
import { InjectEntityModel } from '@midwayjs/typeorm';
|
import { InjectEntityModel } from '@midwayjs/typeorm';
|
||||||
import { Repository } from 'typeorm';
|
import { Repository } from 'typeorm';
|
||||||
import { UserInfoEntity } from '../entity/info';
|
import { UserInfoEntity } from '../entity/info';
|
||||||
import { CoolFile } from '@cool-midway/file';
|
|
||||||
import { v1 as uuid } from 'uuid';
|
import { v1 as uuid } from 'uuid';
|
||||||
import { UserSmsService } from './sms';
|
import { UserSmsService } from './sms';
|
||||||
import * as md5 from 'md5';
|
import * as md5 from 'md5';
|
||||||
|
import { PluginService } from '../../plugin/service/info';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 用户信息
|
* 用户信息
|
||||||
@ -17,7 +17,7 @@ export class UserInfoService extends BaseService {
|
|||||||
userInfoEntity: Repository<UserInfoEntity>;
|
userInfoEntity: Repository<UserInfoEntity>;
|
||||||
|
|
||||||
@Inject()
|
@Inject()
|
||||||
file: CoolFile;
|
pluginService: PluginService;
|
||||||
|
|
||||||
@Inject()
|
@Inject()
|
||||||
userSmsService: UserSmsService;
|
userSmsService: UserSmsService;
|
||||||
@ -59,7 +59,8 @@ export class UserInfoService extends BaseService {
|
|||||||
const info = await this.person(id);
|
const info = await this.person(id);
|
||||||
// 修改了头像要重新处理
|
// 修改了头像要重新处理
|
||||||
if (param.avatarUrl && info.avatarUrl != param.avatarUrl) {
|
if (param.avatarUrl && info.avatarUrl != param.avatarUrl) {
|
||||||
param.avatarUrl = await this.file.downAndUpload(
|
const file = await this.pluginService.getInstance('upload');
|
||||||
|
param.avatarUrl = await file.downAndUpload(
|
||||||
param.avatarUrl,
|
param.avatarUrl,
|
||||||
uuid() + '.png'
|
uuid() + '.png'
|
||||||
);
|
);
|
||||||
|
@ -6,11 +6,11 @@ import { UserInfoEntity } from '../entity/info';
|
|||||||
import { UserWxService } from './wx';
|
import { UserWxService } from './wx';
|
||||||
import * as jwt from 'jsonwebtoken';
|
import * as jwt from 'jsonwebtoken';
|
||||||
import { UserWxEntity } from '../entity/wx';
|
import { UserWxEntity } from '../entity/wx';
|
||||||
import { CoolFile } from '@cool-midway/file';
|
|
||||||
import { BaseSysLoginService } from '../../base/service/sys/login';
|
import { BaseSysLoginService } from '../../base/service/sys/login';
|
||||||
import { UserSmsService } from './sms';
|
import { UserSmsService } from './sms';
|
||||||
import { v1 as uuid } from 'uuid';
|
import { v1 as uuid } from 'uuid';
|
||||||
import * as md5 from 'md5';
|
import * as md5 from 'md5';
|
||||||
|
import { PluginService } from '../../plugin/service/info';
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* 登录
|
* 登录
|
||||||
@ -33,7 +33,7 @@ export class UserLoginService extends BaseService {
|
|||||||
baseSysLoginService: BaseSysLoginService;
|
baseSysLoginService: BaseSysLoginService;
|
||||||
|
|
||||||
@Inject()
|
@Inject()
|
||||||
file: CoolFile;
|
pluginService: PluginService;
|
||||||
|
|
||||||
@Inject()
|
@Inject()
|
||||||
userSmsService: UserSmsService;
|
userSmsService: UserSmsService;
|
||||||
@ -152,7 +152,8 @@ export class UserLoginService extends BaseService {
|
|||||||
const unionid = wxUserInfo.unionid ? wxUserInfo.unionid : wxUserInfo.openid;
|
const unionid = wxUserInfo.unionid ? wxUserInfo.unionid : wxUserInfo.openid;
|
||||||
let userInfo: any = await this.userInfoEntity.findOneBy({ unionid });
|
let userInfo: any = await this.userInfoEntity.findOneBy({ unionid });
|
||||||
if (!userInfo) {
|
if (!userInfo) {
|
||||||
const avatarUrl = await this.file.downAndUpload(
|
const file = await this.pluginService.getInstance('upload');
|
||||||
|
const avatarUrl = await file.downAndUpload(
|
||||||
wxUserInfo.avatarUrl,
|
wxUserInfo.avatarUrl,
|
||||||
uuid() + '.png'
|
uuid() + '.png'
|
||||||
);
|
);
|
||||||
|
Loading…
Reference in New Issue
Block a user