Merge branch 'dev' into release
This commit is contained in:
commit
d6a3c50d31
|
|
@ -24,10 +24,10 @@ export default OakComponent({
|
|||
},
|
||||
isList: false,
|
||||
properties: {
|
||||
accountId: '',
|
||||
accountAvailMax: 0,
|
||||
accountId: '', // 是否可以使用帐户中的余额抵扣
|
||||
accountAvailMax: 0, // 本次交易可以使用的帐户中的Avail max值,调用者自己保证此数值的一致性,不要扣成负数
|
||||
onSetPays: (pays) => undefined,
|
||||
accountTips: '',
|
||||
accountTips: '', // 使用余额支付的提示说明
|
||||
autoStartPay: false,
|
||||
},
|
||||
formData({ data }) {
|
||||
|
|
|
|||
|
|
@ -156,7 +156,7 @@ export default OakComponent({
|
|||
},
|
||||
},
|
||||
filter: {
|
||||
settled: 0,
|
||||
settled: 0, //todo 部分settle的order是否需要统计在内
|
||||
price: {
|
||||
$gt: 0,
|
||||
},
|
||||
|
|
|
|||
|
|
@ -30,7 +30,7 @@ export const entityDesc = {
|
|||
keyType: '指定应用私钥类型',
|
||||
gateway: "支付宝网关地址",
|
||||
wsServiceUrl: 'websocket服务地址',
|
||||
timeout: "网关超时时间",
|
||||
timeout: "网关超时时间", //(单位毫秒),默认值是 5000
|
||||
needEncrypt: "是否需要AES加解密",
|
||||
encryptKey: 'AES密钥', //调用AES加解密相关接口时需要
|
||||
},
|
||||
|
|
|
|||
|
|
@ -15,7 +15,6 @@ export const desc = {
|
|||
type: "object"
|
||||
}
|
||||
},
|
||||
static: true,
|
||||
actionType: "crud",
|
||||
actions,
|
||||
indexes: [
|
||||
|
|
|
|||
|
|
@ -4,7 +4,6 @@ import { MakeAction as OakMakeAction, EntityShape } from "oak-domain/lib/types/E
|
|||
import { GenericAction } from "oak-domain/lib/actions/action";
|
||||
import { String, Text } from "oak-domain/lib/types/DataType";
|
||||
import { Style } from "oak-general-business/lib/types/Style";
|
||||
export type Passport = "email" | "mobile" | "wechat" | "wechatPublic" | "wechatNative";
|
||||
export type AppType = "web" | "wechatMp" | "wechatPublic" | "native";
|
||||
export type WechatMpConfig = {
|
||||
type: "wechatMp";
|
||||
|
|
@ -19,7 +18,6 @@ export type WechatMpConfig = {
|
|||
mode: "clear" | "compatible" | "safe";
|
||||
dataFormat: "json" | "xml";
|
||||
};
|
||||
passport?: Passport[];
|
||||
};
|
||||
export type WebConfig = {
|
||||
type: "web";
|
||||
|
|
@ -33,7 +31,6 @@ export type WebConfig = {
|
|||
appId: string;
|
||||
appSecret: string;
|
||||
};
|
||||
passport?: Passport[];
|
||||
location: {
|
||||
protocol: "http:" | "https:";
|
||||
hostname: string;
|
||||
|
|
@ -56,7 +53,6 @@ export type WechatPublicConfig = {
|
|||
appId: string;
|
||||
originalId: string;
|
||||
};
|
||||
passport?: Passport[];
|
||||
location: {
|
||||
protocol: "http:" | "https:";
|
||||
hostname: string;
|
||||
|
|
@ -65,7 +61,6 @@ export type WechatPublicConfig = {
|
|||
};
|
||||
export type NativeConfig = {
|
||||
type: "native";
|
||||
passport?: Passport[];
|
||||
wechatNative?: {
|
||||
appId: string;
|
||||
appSecret: string;
|
||||
|
|
|
|||
|
|
@ -18,6 +18,12 @@ export const desc = {
|
|||
length: 32
|
||||
}
|
||||
},
|
||||
prevPasswordSha1: {
|
||||
type: "text"
|
||||
},
|
||||
newPasswordSha1: {
|
||||
type: "text"
|
||||
},
|
||||
result: {
|
||||
notNull: true,
|
||||
type: "enum",
|
||||
|
|
|
|||
|
|
@ -2,11 +2,13 @@ import { ForeignKey } from "oak-domain/lib/types/DataType";
|
|||
import { Q_DateValue, Q_NumberValue, Q_StringValue, Q_EnumValue, NodeId, ExprOp, ExpressionKey } from "oak-domain/lib/types/Demand";
|
||||
import { MakeAction as OakMakeAction, EntityShape } from "oak-domain/lib/types/Entity";
|
||||
import { GenericAction } from "oak-domain/lib/actions/action";
|
||||
import { String } from "oak-domain/lib/types/DataType";
|
||||
import { String, Text } from "oak-domain/lib/types/DataType";
|
||||
export type OpSchema = EntityShape & {
|
||||
userId: ForeignKey<"user">;
|
||||
prevPassword?: String<32> | null;
|
||||
newPassword?: String<32> | null;
|
||||
prevPasswordSha1?: Text | null;
|
||||
newPasswordSha1?: Text | null;
|
||||
result: "success" | "fail";
|
||||
} & {
|
||||
[A in ExpressionKey]?: any;
|
||||
|
|
@ -20,6 +22,8 @@ export type OpFilter = {
|
|||
userId: Q_StringValue;
|
||||
prevPassword: Q_StringValue;
|
||||
newPassword: Q_StringValue;
|
||||
prevPasswordSha1: Q_StringValue;
|
||||
newPasswordSha1: Q_StringValue;
|
||||
result: Q_EnumValue<"success" | "fail">;
|
||||
} & ExprOp<OpAttr | string>;
|
||||
export type OpProjection = {
|
||||
|
|
@ -32,6 +36,8 @@ export type OpProjection = {
|
|||
userId?: number;
|
||||
prevPassword?: number;
|
||||
newPassword?: number;
|
||||
prevPasswordSha1?: number;
|
||||
newPasswordSha1?: number;
|
||||
result?: number;
|
||||
} & Partial<ExprOp<OpAttr | string>>;
|
||||
export type OpSortAttr = Partial<{
|
||||
|
|
@ -42,6 +48,8 @@ export type OpSortAttr = Partial<{
|
|||
userId: number;
|
||||
prevPassword: number;
|
||||
newPassword: number;
|
||||
prevPasswordSha1: number;
|
||||
newPasswordSha1: number;
|
||||
result: number;
|
||||
[k: string]: any;
|
||||
} | ExprOp<OpAttr | string>>;
|
||||
|
|
|
|||
|
|
@ -4,6 +4,8 @@
|
|||
"user": "用户",
|
||||
"prevPassword": "原密码",
|
||||
"newPassword": "新密码",
|
||||
"prevPasswordSha1": "原sha1加密密码",
|
||||
"newPasswordSha1": "新sha1加密密码",
|
||||
"result": "修改结果"
|
||||
},
|
||||
"v": {
|
||||
|
|
|
|||
|
|
@ -117,12 +117,14 @@ export type ActionAuth = {
|
|||
Aggregation: DeduceAggregation<ActionAuth["Projection"], ActionAuth["Filter"], ActionAuth["Sorter"]>;
|
||||
CreateOperationData: FormCreateData<BaseActionAuth.OpSchema & {
|
||||
relation?: OakOperation<"create", Relation["CreateOperationData"]> | OakOperation<BaseRelation.OpUpdateAction, Relation["UpdateOperationData"], Relation["Filter"]>;
|
||||
path?: OakOperation<"create", Path["CreateOperationData"]> | OakOperation<BasePath.OpUpdateAction, Path["UpdateOperationData"], Path["Filter"]>;
|
||||
}>;
|
||||
CreateSingle: OakOperation<"create", ActionAuth["CreateOperationData"]>;
|
||||
CreateMulti: OakOperation<"create", Array<ActionAuth["CreateOperationData"]>>;
|
||||
Create: ActionAuth["CreateSingle"] | ActionAuth["CreateMulti"];
|
||||
UpdateOperationData: FormUpdateData<BaseActionAuth.OpSchema & {
|
||||
relation?: OakOperation<"create", Relation["CreateOperationData"]> | OakOperation<BaseRelation.OpUpdateAction, Relation["UpdateOperationData"], Relation["Filter"]> | OakOperation<"remove", Relation["RemoveOperationData"], Relation["Filter"]>;
|
||||
path?: OakOperation<"create", Path["CreateOperationData"]> | OakOperation<BasePath.OpUpdateAction, Path["UpdateOperationData"], Path["Filter"]> | OakOperation<"remove", Path["RemoveOperationData"], Path["Filter"]>;
|
||||
}>;
|
||||
Update: OakOperation<BaseActionAuth.OpUpdateAction, ActionAuth["UpdateOperationData"], ActionAuth["Filter"], ActionAuth["Sorter"]>;
|
||||
RemoveOperationData: {};
|
||||
|
|
@ -400,11 +402,17 @@ export type Path = {
|
|||
Sorter: Path["SortNode"][];
|
||||
Selection: OakSelection<"select", Path["Projection"], Path["Filter"], Path["Sorter"]>;
|
||||
Aggregation: DeduceAggregation<Path["Projection"], Path["Filter"], Path["Sorter"]>;
|
||||
CreateOperationData: FormCreateData<BasePath.OpSchema>;
|
||||
CreateOperationData: FormCreateData<BasePath.OpSchema & {
|
||||
actionAuth$path?: (OakOperation<"create", Omit<ActionAuth["CreateOperationData"], "path"> | Omit<ActionAuth["CreateOperationData"], "path">[]> | OakOperation<BaseActionAuth.OpUpdateAction, Omit<ActionAuth["UpdateOperationData"], "path">, ActionAuth["Filter"]>)[];
|
||||
relationAuth$path?: (OakOperation<"create", Omit<RelationAuth["CreateOperationData"], "path"> | Omit<RelationAuth["CreateOperationData"], "path">[]> | OakOperation<BaseRelationAuth.OpUpdateAction, Omit<RelationAuth["UpdateOperationData"], "path">, RelationAuth["Filter"]>)[];
|
||||
}>;
|
||||
CreateSingle: OakOperation<"create", Path["CreateOperationData"]>;
|
||||
CreateMulti: OakOperation<"create", Array<Path["CreateOperationData"]>>;
|
||||
Create: Path["CreateSingle"] | Path["CreateMulti"];
|
||||
UpdateOperationData: FormUpdateData<BasePath.OpSchema>;
|
||||
UpdateOperationData: FormUpdateData<BasePath.OpSchema & {
|
||||
actionAuth$path?: (OakOperation<"create", Omit<ActionAuth["CreateOperationData"], "path"> | Omit<ActionAuth["CreateOperationData"], "path">[]> | OakOperation<BaseActionAuth.OpUpdateAction, Omit<ActionAuth["UpdateOperationData"], "path">, ActionAuth["Filter"]> | OakOperation<"remove", ActionAuth["RemoveOperationData"], ActionAuth["Filter"]>)[];
|
||||
relationAuth$path?: (OakOperation<"create", Omit<RelationAuth["CreateOperationData"], "path"> | Omit<RelationAuth["CreateOperationData"], "path">[]> | OakOperation<BaseRelationAuth.OpUpdateAction, Omit<RelationAuth["UpdateOperationData"], "path">, RelationAuth["Filter"]> | OakOperation<"remove", RelationAuth["RemoveOperationData"], RelationAuth["Filter"]>)[];
|
||||
}>;
|
||||
Update: OakOperation<BasePath.OpUpdateAction, Path["UpdateOperationData"], Path["Filter"], Path["Sorter"]>;
|
||||
RemoveOperationData: {};
|
||||
Remove: OakOperation<"remove", Path["RemoveOperationData"], Path["Filter"], Path["Sorter"]>;
|
||||
|
|
@ -490,6 +498,9 @@ export type Relation = {
|
|||
platform?: OakOperation<"create", Platform["CreateOperationData"]> | OakOperation<BasePlatform.OpUpdateAction, Platform["UpdateOperationData"], Platform["Filter"]>;
|
||||
session?: OakOperation<"create", Session["CreateOperationData"]> | OakOperation<BaseSession.OpUpdateAction, Session["UpdateOperationData"], Session["Filter"]>;
|
||||
toDo?: OakOperation<"create", ToDo["CreateOperationData"]> | OakOperation<BaseToDo.OpUpdateAction, ToDo["UpdateOperationData"], ToDo["Filter"]>;
|
||||
actionAuth$relation?: (OakOperation<"create", Omit<ActionAuth["CreateOperationData"], "relation"> | Omit<ActionAuth["CreateOperationData"], "relation">[]> | OakOperation<BaseActionAuth.OpUpdateAction, Omit<ActionAuth["UpdateOperationData"], "relation">, ActionAuth["Filter"]>)[];
|
||||
relationAuth$sourceRelation?: (OakOperation<"create", Omit<RelationAuth["CreateOperationData"], "sourceRelation"> | Omit<RelationAuth["CreateOperationData"], "sourceRelation">[]> | OakOperation<BaseRelationAuth.OpUpdateAction, Omit<RelationAuth["UpdateOperationData"], "sourceRelation">, RelationAuth["Filter"]>)[];
|
||||
relationAuth$destRelation?: (OakOperation<"create", Omit<RelationAuth["CreateOperationData"], "destRelation"> | Omit<RelationAuth["CreateOperationData"], "destRelation">[]> | OakOperation<BaseRelationAuth.OpUpdateAction, Omit<RelationAuth["UpdateOperationData"], "destRelation">, RelationAuth["Filter"]>)[];
|
||||
userEntityClaim$relation?: (OakOperation<"create", Omit<UserEntityClaim["CreateOperationData"], "relation"> | Omit<UserEntityClaim["CreateOperationData"], "relation">[]> | OakOperation<BaseUserEntityClaim.OpUpdateAction, Omit<UserEntityClaim["UpdateOperationData"], "relation">, UserEntityClaim["Filter"]>)[];
|
||||
userRelation$relation?: (OakOperation<"create", Omit<UserRelation["CreateOperationData"], "relation"> | Omit<UserRelation["CreateOperationData"], "relation">[]> | OakOperation<BaseUserRelation.OpUpdateAction, Omit<UserRelation["UpdateOperationData"], "relation">, UserRelation["Filter"]>)[];
|
||||
}>;
|
||||
|
|
@ -500,6 +511,9 @@ export type Relation = {
|
|||
platform?: OakOperation<"create", Platform["CreateOperationData"]> | OakOperation<BasePlatform.OpUpdateAction, Platform["UpdateOperationData"], Platform["Filter"]> | OakOperation<"remove", Platform["RemoveOperationData"], Platform["Filter"]>;
|
||||
session?: OakOperation<"create", Session["CreateOperationData"]> | OakOperation<BaseSession.OpUpdateAction, Session["UpdateOperationData"], Session["Filter"]> | OakOperation<"remove", Session["RemoveOperationData"], Session["Filter"]>;
|
||||
toDo?: OakOperation<"create", ToDo["CreateOperationData"]> | OakOperation<BaseToDo.OpUpdateAction, ToDo["UpdateOperationData"], ToDo["Filter"]> | OakOperation<"remove", ToDo["RemoveOperationData"], ToDo["Filter"]>;
|
||||
actionAuth$relation?: (OakOperation<"create", Omit<ActionAuth["CreateOperationData"], "relation"> | Omit<ActionAuth["CreateOperationData"], "relation">[]> | OakOperation<BaseActionAuth.OpUpdateAction, Omit<ActionAuth["UpdateOperationData"], "relation">, ActionAuth["Filter"]> | OakOperation<"remove", ActionAuth["RemoveOperationData"], ActionAuth["Filter"]>)[];
|
||||
relationAuth$sourceRelation?: (OakOperation<"create", Omit<RelationAuth["CreateOperationData"], "sourceRelation"> | Omit<RelationAuth["CreateOperationData"], "sourceRelation">[]> | OakOperation<BaseRelationAuth.OpUpdateAction, Omit<RelationAuth["UpdateOperationData"], "sourceRelation">, RelationAuth["Filter"]> | OakOperation<"remove", RelationAuth["RemoveOperationData"], RelationAuth["Filter"]>)[];
|
||||
relationAuth$destRelation?: (OakOperation<"create", Omit<RelationAuth["CreateOperationData"], "destRelation"> | Omit<RelationAuth["CreateOperationData"], "destRelation">[]> | OakOperation<BaseRelationAuth.OpUpdateAction, Omit<RelationAuth["UpdateOperationData"], "destRelation">, RelationAuth["Filter"]> | OakOperation<"remove", RelationAuth["RemoveOperationData"], RelationAuth["Filter"]>)[];
|
||||
userEntityClaim$relation?: (OakOperation<"create", Omit<UserEntityClaim["CreateOperationData"], "relation"> | Omit<UserEntityClaim["CreateOperationData"], "relation">[]> | OakOperation<BaseUserEntityClaim.OpUpdateAction, Omit<UserEntityClaim["UpdateOperationData"], "relation">, UserEntityClaim["Filter"]> | OakOperation<"remove", UserEntityClaim["RemoveOperationData"], UserEntityClaim["Filter"]>)[];
|
||||
userRelation$relation?: (OakOperation<"create", Omit<UserRelation["CreateOperationData"], "relation"> | Omit<UserRelation["CreateOperationData"], "relation">[]> | OakOperation<BaseUserRelation.OpUpdateAction, Omit<UserRelation["UpdateOperationData"], "relation">, UserRelation["Filter"]> | OakOperation<"remove", UserRelation["RemoveOperationData"], UserRelation["Filter"]>)[];
|
||||
}>;
|
||||
|
|
@ -541,6 +555,7 @@ export type RelationAuth = {
|
|||
Aggregation: DeduceAggregation<RelationAuth["Projection"], RelationAuth["Filter"], RelationAuth["Sorter"]>;
|
||||
CreateOperationData: FormCreateData<BaseRelationAuth.OpSchema & {
|
||||
sourceRelation?: OakOperation<"create", Relation["CreateOperationData"]> | OakOperation<BaseRelation.OpUpdateAction, Relation["UpdateOperationData"], Relation["Filter"]>;
|
||||
path?: OakOperation<"create", Path["CreateOperationData"]> | OakOperation<BasePath.OpUpdateAction, Path["UpdateOperationData"], Path["Filter"]>;
|
||||
destRelation?: OakOperation<"create", Relation["CreateOperationData"]> | OakOperation<BaseRelation.OpUpdateAction, Relation["UpdateOperationData"], Relation["Filter"]>;
|
||||
}>;
|
||||
CreateSingle: OakOperation<"create", RelationAuth["CreateOperationData"]>;
|
||||
|
|
@ -548,6 +563,7 @@ export type RelationAuth = {
|
|||
Create: RelationAuth["CreateSingle"] | RelationAuth["CreateMulti"];
|
||||
UpdateOperationData: FormUpdateData<BaseRelationAuth.OpSchema & {
|
||||
sourceRelation?: OakOperation<"create", Relation["CreateOperationData"]> | OakOperation<BaseRelation.OpUpdateAction, Relation["UpdateOperationData"], Relation["Filter"]> | OakOperation<"remove", Relation["RemoveOperationData"], Relation["Filter"]>;
|
||||
path?: OakOperation<"create", Path["CreateOperationData"]> | OakOperation<BasePath.OpUpdateAction, Path["UpdateOperationData"], Path["Filter"]> | OakOperation<"remove", Path["RemoveOperationData"], Path["Filter"]>;
|
||||
destRelation?: OakOperation<"create", Relation["CreateOperationData"]> | OakOperation<BaseRelation.OpUpdateAction, Relation["UpdateOperationData"], Relation["Filter"]> | OakOperation<"remove", Relation["RemoveOperationData"], Relation["Filter"]>;
|
||||
}>;
|
||||
Update: OakOperation<BaseRelationAuth.OpUpdateAction, RelationAuth["UpdateOperationData"], RelationAuth["Filter"], RelationAuth["Sorter"]>;
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ export const desc = {
|
|||
origin: {
|
||||
notNull: true,
|
||||
type: "enum",
|
||||
enumeration: ["qiniu", "wechat", "ctyun", "aliyun", "tencent", "local", "unknown"]
|
||||
enumeration: ["qiniu", "wechat", "ctyun", "aliyun", "tencent", "local", "unknown", "s3"]
|
||||
},
|
||||
type: {
|
||||
notNull: true,
|
||||
|
|
|
|||
|
|
@ -1,6 +1,7 @@
|
|||
export const style = {
|
||||
color: {
|
||||
origin: {
|
||||
s3: '#FFA500',
|
||||
qiniu: '#37caff',
|
||||
wechat: '#2aae67',
|
||||
ctyun: '#ff0000',
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ import { MakeAction as OakMakeAction, EntityShape } from "oak-domain/lib/types/E
|
|||
import { GenericAction } from "oak-domain/lib/actions/action";
|
||||
import { String, Text, Int, Float, Boolean } from "oak-domain/lib/types/DataType";
|
||||
export type OpSchema = EntityShape & {
|
||||
origin: "qiniu" | "wechat" | "ctyun" | "aliyun" | "tencent" | "local" | "unknown";
|
||||
origin: "qiniu" | "wechat" | "ctyun" | "aliyun" | "tencent" | "local" | "unknown" | "s3";
|
||||
type: "image" | "video" | "audio" | "file";
|
||||
bucket?: String<32> | null;
|
||||
objectId?: String<64> | null;
|
||||
|
|
@ -33,7 +33,7 @@ export type OpFilter = {
|
|||
$$createAt$$: Q_DateValue;
|
||||
$$seq$$: Q_NumberValue;
|
||||
$$updateAt$$: Q_DateValue;
|
||||
origin: Q_EnumValue<"qiniu" | "wechat" | "ctyun" | "aliyun" | "tencent" | "local" | "unknown">;
|
||||
origin: Q_EnumValue<"qiniu" | "wechat" | "ctyun" | "aliyun" | "tencent" | "local" | "unknown" | "s3">;
|
||||
type: Q_EnumValue<"image" | "video" | "audio" | "file">;
|
||||
bucket: Q_StringValue;
|
||||
objectId: Q_StringValue;
|
||||
|
|
|
|||
|
|
@ -30,7 +30,8 @@
|
|||
"aliyun": "阿里云",
|
||||
"tencent": "腾讯云",
|
||||
"local": "本地",
|
||||
"unknown": "未知"
|
||||
"unknown": "未知",
|
||||
"s3": "S3"
|
||||
},
|
||||
"type": {
|
||||
"image": "图像",
|
||||
|
|
|
|||
|
|
@ -34,7 +34,6 @@ export const desc = {
|
|||
type: "object"
|
||||
}
|
||||
},
|
||||
static: true,
|
||||
actionType: "crud",
|
||||
actions,
|
||||
indexes: [
|
||||
|
|
|
|||
|
|
@ -27,10 +27,18 @@ export type PfwConfig = {
|
|||
export type MfwConfig = {
|
||||
appId: string;
|
||||
};
|
||||
export type PwdConfig = {
|
||||
mode: "all" | "plain" | "sha1";
|
||||
min: number;
|
||||
max: number;
|
||||
verify?: boolean;
|
||||
regexs?: string[];
|
||||
tip?: string;
|
||||
};
|
||||
export type OpSchema = EntityShape & {
|
||||
systemId: ForeignKey<"system">;
|
||||
type: Type;
|
||||
config?: (SmsConfig | EmailConfig | PfwConfig | MfwConfig) | null;
|
||||
config?: (SmsConfig | EmailConfig | PfwConfig | MfwConfig | PwdConfig) | null;
|
||||
enabled: Boolean;
|
||||
} & {
|
||||
[A in ExpressionKey]?: any;
|
||||
|
|
@ -43,7 +51,7 @@ export type OpFilter = {
|
|||
$$updateAt$$: Q_DateValue;
|
||||
systemId: Q_StringValue;
|
||||
type: Q_EnumValue<Type>;
|
||||
config: JsonFilter<SmsConfig | EmailConfig | PfwConfig | MfwConfig>;
|
||||
config: JsonFilter<SmsConfig | EmailConfig | PfwConfig | MfwConfig | PwdConfig>;
|
||||
enabled: Q_BooleanValue;
|
||||
} & ExprOp<OpAttr | string>;
|
||||
export type OpProjection = {
|
||||
|
|
@ -55,7 +63,7 @@ export type OpProjection = {
|
|||
$$seq$$?: number;
|
||||
systemId?: number;
|
||||
type?: number;
|
||||
config?: number | JsonProjection<SmsConfig | EmailConfig | PfwConfig | MfwConfig>;
|
||||
config?: number | JsonProjection<SmsConfig | EmailConfig | PfwConfig | MfwConfig | PwdConfig>;
|
||||
enabled?: number;
|
||||
} & Partial<ExprOp<OpAttr | string>>;
|
||||
export type OpSortAttr = Partial<{
|
||||
|
|
|
|||
|
|
@ -16,7 +16,6 @@ export const desc = {
|
|||
}
|
||||
},
|
||||
recursive: {
|
||||
notNull: true,
|
||||
type: "boolean"
|
||||
},
|
||||
sourceEntity: {
|
||||
|
|
@ -33,7 +32,6 @@ export const desc = {
|
|||
}
|
||||
}
|
||||
},
|
||||
static: true,
|
||||
actionType: "crud",
|
||||
actions,
|
||||
indexes: [
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ import { String, Boolean } from "oak-domain/lib/types/DataType";
|
|||
export type OpSchema = EntityShape & {
|
||||
destEntity: String<32>;
|
||||
value: String<256>;
|
||||
recursive: Boolean;
|
||||
recursive?: Boolean | null;
|
||||
sourceEntity: String<32>;
|
||||
desc?: String<256> | null;
|
||||
} & {
|
||||
|
|
|
|||
|
|
@ -17,7 +17,6 @@ export const desc = {
|
|||
ref: "relation"
|
||||
}
|
||||
},
|
||||
static: true,
|
||||
actionType: "crud",
|
||||
actions,
|
||||
indexes: [
|
||||
|
|
|
|||
|
|
@ -19,8 +19,7 @@ export const desc = {
|
|||
type: "ref",
|
||||
ref: "platform"
|
||||
},
|
||||
folder // 提现的loss在用户提现时计算
|
||||
: {
|
||||
folder: {
|
||||
type: "varchar",
|
||||
params: {
|
||||
length: 16
|
||||
|
|
|
|||
|
|
@ -190,10 +190,10 @@ export default class AliPay extends AliPayDebug {
|
|||
const qrCodeWidth = this.apProduct.config?.qrCodeWidth || 100;
|
||||
const params = {
|
||||
bizContent: {
|
||||
subject: pay.order?.desc || (pay.orderId ? '订单支付' : '帐户充值'),
|
||||
out_trade_no: out_trade_no,
|
||||
total_amount: totalAmount,
|
||||
product_code: 'FAST_INSTANT_TRADE_PAY',
|
||||
subject: pay.order?.desc || (pay.orderId ? '订单支付' : '帐户充值'), // 订单标题
|
||||
out_trade_no: out_trade_no, // 商户订单号,64个字符以内、可包含字母、数字、下划线;需保证在商户端不重复
|
||||
total_amount: totalAmount, // 订单总金额,单位为元
|
||||
product_code: 'FAST_INSTANT_TRADE_PAY', // 销售产品码,商家和支付宝签约的产品码
|
||||
notify_url: payNotifyUrl,
|
||||
qr_pay_mode: qrPayMode,
|
||||
qrcode_width: qrCodeWidth,
|
||||
|
|
|
|||
|
|
@ -157,9 +157,9 @@ export default class WechatMpShipDebug {
|
|||
name: from.name,
|
||||
mobile: from.phone,
|
||||
// country: from!.area!.parent!.parent!.name!, //国家
|
||||
province: from.area.parent.parent.name,
|
||||
city: from.area.parent.name,
|
||||
area: from.area.name,
|
||||
province: from.area.parent.parent.name, //省份
|
||||
city: from.area.parent.name, //市
|
||||
area: from.area.name, // 区
|
||||
address: from.detail, //详细地址
|
||||
},
|
||||
receiver: {
|
||||
|
|
|
|||
|
|
@ -33,7 +33,7 @@ exports.entityDesc = {
|
|||
keyType: '指定应用私钥类型',
|
||||
gateway: "支付宝网关地址",
|
||||
wsServiceUrl: 'websocket服务地址',
|
||||
timeout: "网关超时时间",
|
||||
timeout: "网关超时时间", //(单位毫秒),默认值是 5000
|
||||
needEncrypt: "是否需要AES加解密",
|
||||
encryptKey: 'AES密钥', //调用AES加解密相关接口时需要
|
||||
},
|
||||
|
|
|
|||
|
|
@ -18,7 +18,6 @@ exports.desc = {
|
|||
type: "object"
|
||||
}
|
||||
},
|
||||
static: true,
|
||||
actionType: "crud",
|
||||
actions: action_1.genericActions,
|
||||
indexes: [
|
||||
|
|
|
|||
|
|
@ -4,7 +4,6 @@ import { MakeAction as OakMakeAction, EntityShape } from "oak-domain/lib/types/E
|
|||
import { GenericAction } from "oak-domain/lib/actions/action";
|
||||
import { String, Text } from "oak-domain/lib/types/DataType";
|
||||
import { Style } from "oak-general-business/lib/types/Style";
|
||||
export type Passport = "email" | "mobile" | "wechat" | "wechatPublic" | "wechatNative";
|
||||
export type AppType = "web" | "wechatMp" | "wechatPublic" | "native";
|
||||
export type WechatMpConfig = {
|
||||
type: "wechatMp";
|
||||
|
|
@ -19,7 +18,6 @@ export type WechatMpConfig = {
|
|||
mode: "clear" | "compatible" | "safe";
|
||||
dataFormat: "json" | "xml";
|
||||
};
|
||||
passport?: Passport[];
|
||||
};
|
||||
export type WebConfig = {
|
||||
type: "web";
|
||||
|
|
@ -33,7 +31,6 @@ export type WebConfig = {
|
|||
appId: string;
|
||||
appSecret: string;
|
||||
};
|
||||
passport?: Passport[];
|
||||
location: {
|
||||
protocol: "http:" | "https:";
|
||||
hostname: string;
|
||||
|
|
@ -56,7 +53,6 @@ export type WechatPublicConfig = {
|
|||
appId: string;
|
||||
originalId: string;
|
||||
};
|
||||
passport?: Passport[];
|
||||
location: {
|
||||
protocol: "http:" | "https:";
|
||||
hostname: string;
|
||||
|
|
@ -65,7 +61,6 @@ export type WechatPublicConfig = {
|
|||
};
|
||||
export type NativeConfig = {
|
||||
type: "native";
|
||||
passport?: Passport[];
|
||||
wechatNative?: {
|
||||
appId: string;
|
||||
appSecret: string;
|
||||
|
|
|
|||
|
|
@ -21,6 +21,12 @@ exports.desc = {
|
|||
length: 32
|
||||
}
|
||||
},
|
||||
prevPasswordSha1: {
|
||||
type: "text"
|
||||
},
|
||||
newPasswordSha1: {
|
||||
type: "text"
|
||||
},
|
||||
result: {
|
||||
notNull: true,
|
||||
type: "enum",
|
||||
|
|
|
|||
|
|
@ -2,11 +2,13 @@ import { ForeignKey } from "oak-domain/lib/types/DataType";
|
|||
import { Q_DateValue, Q_NumberValue, Q_StringValue, Q_EnumValue, NodeId, ExprOp, ExpressionKey } from "oak-domain/lib/types/Demand";
|
||||
import { MakeAction as OakMakeAction, EntityShape } from "oak-domain/lib/types/Entity";
|
||||
import { GenericAction } from "oak-domain/lib/actions/action";
|
||||
import { String } from "oak-domain/lib/types/DataType";
|
||||
import { String, Text } from "oak-domain/lib/types/DataType";
|
||||
export type OpSchema = EntityShape & {
|
||||
userId: ForeignKey<"user">;
|
||||
prevPassword?: String<32> | null;
|
||||
newPassword?: String<32> | null;
|
||||
prevPasswordSha1?: Text | null;
|
||||
newPasswordSha1?: Text | null;
|
||||
result: "success" | "fail";
|
||||
} & {
|
||||
[A in ExpressionKey]?: any;
|
||||
|
|
@ -20,6 +22,8 @@ export type OpFilter = {
|
|||
userId: Q_StringValue;
|
||||
prevPassword: Q_StringValue;
|
||||
newPassword: Q_StringValue;
|
||||
prevPasswordSha1: Q_StringValue;
|
||||
newPasswordSha1: Q_StringValue;
|
||||
result: Q_EnumValue<"success" | "fail">;
|
||||
} & ExprOp<OpAttr | string>;
|
||||
export type OpProjection = {
|
||||
|
|
@ -32,6 +36,8 @@ export type OpProjection = {
|
|||
userId?: number;
|
||||
prevPassword?: number;
|
||||
newPassword?: number;
|
||||
prevPasswordSha1?: number;
|
||||
newPasswordSha1?: number;
|
||||
result?: number;
|
||||
} & Partial<ExprOp<OpAttr | string>>;
|
||||
export type OpSortAttr = Partial<{
|
||||
|
|
@ -42,6 +48,8 @@ export type OpSortAttr = Partial<{
|
|||
userId: number;
|
||||
prevPassword: number;
|
||||
newPassword: number;
|
||||
prevPasswordSha1: number;
|
||||
newPasswordSha1: number;
|
||||
result: number;
|
||||
[k: string]: any;
|
||||
} | ExprOp<OpAttr | string>>;
|
||||
|
|
|
|||
|
|
@ -4,6 +4,8 @@
|
|||
"user": "用户",
|
||||
"prevPassword": "原密码",
|
||||
"newPassword": "新密码",
|
||||
"prevPasswordSha1": "原sha1加密密码",
|
||||
"newPasswordSha1": "新sha1加密密码",
|
||||
"result": "修改结果"
|
||||
},
|
||||
"v": {
|
||||
|
|
|
|||
|
|
@ -117,12 +117,14 @@ export type ActionAuth = {
|
|||
Aggregation: DeduceAggregation<ActionAuth["Projection"], ActionAuth["Filter"], ActionAuth["Sorter"]>;
|
||||
CreateOperationData: FormCreateData<BaseActionAuth.OpSchema & {
|
||||
relation?: OakOperation<"create", Relation["CreateOperationData"]> | OakOperation<BaseRelation.OpUpdateAction, Relation["UpdateOperationData"], Relation["Filter"]>;
|
||||
path?: OakOperation<"create", Path["CreateOperationData"]> | OakOperation<BasePath.OpUpdateAction, Path["UpdateOperationData"], Path["Filter"]>;
|
||||
}>;
|
||||
CreateSingle: OakOperation<"create", ActionAuth["CreateOperationData"]>;
|
||||
CreateMulti: OakOperation<"create", Array<ActionAuth["CreateOperationData"]>>;
|
||||
Create: ActionAuth["CreateSingle"] | ActionAuth["CreateMulti"];
|
||||
UpdateOperationData: FormUpdateData<BaseActionAuth.OpSchema & {
|
||||
relation?: OakOperation<"create", Relation["CreateOperationData"]> | OakOperation<BaseRelation.OpUpdateAction, Relation["UpdateOperationData"], Relation["Filter"]> | OakOperation<"remove", Relation["RemoveOperationData"], Relation["Filter"]>;
|
||||
path?: OakOperation<"create", Path["CreateOperationData"]> | OakOperation<BasePath.OpUpdateAction, Path["UpdateOperationData"], Path["Filter"]> | OakOperation<"remove", Path["RemoveOperationData"], Path["Filter"]>;
|
||||
}>;
|
||||
Update: OakOperation<BaseActionAuth.OpUpdateAction, ActionAuth["UpdateOperationData"], ActionAuth["Filter"], ActionAuth["Sorter"]>;
|
||||
RemoveOperationData: {};
|
||||
|
|
@ -400,11 +402,17 @@ export type Path = {
|
|||
Sorter: Path["SortNode"][];
|
||||
Selection: OakSelection<"select", Path["Projection"], Path["Filter"], Path["Sorter"]>;
|
||||
Aggregation: DeduceAggregation<Path["Projection"], Path["Filter"], Path["Sorter"]>;
|
||||
CreateOperationData: FormCreateData<BasePath.OpSchema>;
|
||||
CreateOperationData: FormCreateData<BasePath.OpSchema & {
|
||||
actionAuth$path?: (OakOperation<"create", Omit<ActionAuth["CreateOperationData"], "path"> | Omit<ActionAuth["CreateOperationData"], "path">[]> | OakOperation<BaseActionAuth.OpUpdateAction, Omit<ActionAuth["UpdateOperationData"], "path">, ActionAuth["Filter"]>)[];
|
||||
relationAuth$path?: (OakOperation<"create", Omit<RelationAuth["CreateOperationData"], "path"> | Omit<RelationAuth["CreateOperationData"], "path">[]> | OakOperation<BaseRelationAuth.OpUpdateAction, Omit<RelationAuth["UpdateOperationData"], "path">, RelationAuth["Filter"]>)[];
|
||||
}>;
|
||||
CreateSingle: OakOperation<"create", Path["CreateOperationData"]>;
|
||||
CreateMulti: OakOperation<"create", Array<Path["CreateOperationData"]>>;
|
||||
Create: Path["CreateSingle"] | Path["CreateMulti"];
|
||||
UpdateOperationData: FormUpdateData<BasePath.OpSchema>;
|
||||
UpdateOperationData: FormUpdateData<BasePath.OpSchema & {
|
||||
actionAuth$path?: (OakOperation<"create", Omit<ActionAuth["CreateOperationData"], "path"> | Omit<ActionAuth["CreateOperationData"], "path">[]> | OakOperation<BaseActionAuth.OpUpdateAction, Omit<ActionAuth["UpdateOperationData"], "path">, ActionAuth["Filter"]> | OakOperation<"remove", ActionAuth["RemoveOperationData"], ActionAuth["Filter"]>)[];
|
||||
relationAuth$path?: (OakOperation<"create", Omit<RelationAuth["CreateOperationData"], "path"> | Omit<RelationAuth["CreateOperationData"], "path">[]> | OakOperation<BaseRelationAuth.OpUpdateAction, Omit<RelationAuth["UpdateOperationData"], "path">, RelationAuth["Filter"]> | OakOperation<"remove", RelationAuth["RemoveOperationData"], RelationAuth["Filter"]>)[];
|
||||
}>;
|
||||
Update: OakOperation<BasePath.OpUpdateAction, Path["UpdateOperationData"], Path["Filter"], Path["Sorter"]>;
|
||||
RemoveOperationData: {};
|
||||
Remove: OakOperation<"remove", Path["RemoveOperationData"], Path["Filter"], Path["Sorter"]>;
|
||||
|
|
@ -490,6 +498,9 @@ export type Relation = {
|
|||
platform?: OakOperation<"create", Platform["CreateOperationData"]> | OakOperation<BasePlatform.OpUpdateAction, Platform["UpdateOperationData"], Platform["Filter"]>;
|
||||
session?: OakOperation<"create", Session["CreateOperationData"]> | OakOperation<BaseSession.OpUpdateAction, Session["UpdateOperationData"], Session["Filter"]>;
|
||||
toDo?: OakOperation<"create", ToDo["CreateOperationData"]> | OakOperation<BaseToDo.OpUpdateAction, ToDo["UpdateOperationData"], ToDo["Filter"]>;
|
||||
actionAuth$relation?: (OakOperation<"create", Omit<ActionAuth["CreateOperationData"], "relation"> | Omit<ActionAuth["CreateOperationData"], "relation">[]> | OakOperation<BaseActionAuth.OpUpdateAction, Omit<ActionAuth["UpdateOperationData"], "relation">, ActionAuth["Filter"]>)[];
|
||||
relationAuth$sourceRelation?: (OakOperation<"create", Omit<RelationAuth["CreateOperationData"], "sourceRelation"> | Omit<RelationAuth["CreateOperationData"], "sourceRelation">[]> | OakOperation<BaseRelationAuth.OpUpdateAction, Omit<RelationAuth["UpdateOperationData"], "sourceRelation">, RelationAuth["Filter"]>)[];
|
||||
relationAuth$destRelation?: (OakOperation<"create", Omit<RelationAuth["CreateOperationData"], "destRelation"> | Omit<RelationAuth["CreateOperationData"], "destRelation">[]> | OakOperation<BaseRelationAuth.OpUpdateAction, Omit<RelationAuth["UpdateOperationData"], "destRelation">, RelationAuth["Filter"]>)[];
|
||||
userEntityClaim$relation?: (OakOperation<"create", Omit<UserEntityClaim["CreateOperationData"], "relation"> | Omit<UserEntityClaim["CreateOperationData"], "relation">[]> | OakOperation<BaseUserEntityClaim.OpUpdateAction, Omit<UserEntityClaim["UpdateOperationData"], "relation">, UserEntityClaim["Filter"]>)[];
|
||||
userRelation$relation?: (OakOperation<"create", Omit<UserRelation["CreateOperationData"], "relation"> | Omit<UserRelation["CreateOperationData"], "relation">[]> | OakOperation<BaseUserRelation.OpUpdateAction, Omit<UserRelation["UpdateOperationData"], "relation">, UserRelation["Filter"]>)[];
|
||||
}>;
|
||||
|
|
@ -500,6 +511,9 @@ export type Relation = {
|
|||
platform?: OakOperation<"create", Platform["CreateOperationData"]> | OakOperation<BasePlatform.OpUpdateAction, Platform["UpdateOperationData"], Platform["Filter"]> | OakOperation<"remove", Platform["RemoveOperationData"], Platform["Filter"]>;
|
||||
session?: OakOperation<"create", Session["CreateOperationData"]> | OakOperation<BaseSession.OpUpdateAction, Session["UpdateOperationData"], Session["Filter"]> | OakOperation<"remove", Session["RemoveOperationData"], Session["Filter"]>;
|
||||
toDo?: OakOperation<"create", ToDo["CreateOperationData"]> | OakOperation<BaseToDo.OpUpdateAction, ToDo["UpdateOperationData"], ToDo["Filter"]> | OakOperation<"remove", ToDo["RemoveOperationData"], ToDo["Filter"]>;
|
||||
actionAuth$relation?: (OakOperation<"create", Omit<ActionAuth["CreateOperationData"], "relation"> | Omit<ActionAuth["CreateOperationData"], "relation">[]> | OakOperation<BaseActionAuth.OpUpdateAction, Omit<ActionAuth["UpdateOperationData"], "relation">, ActionAuth["Filter"]> | OakOperation<"remove", ActionAuth["RemoveOperationData"], ActionAuth["Filter"]>)[];
|
||||
relationAuth$sourceRelation?: (OakOperation<"create", Omit<RelationAuth["CreateOperationData"], "sourceRelation"> | Omit<RelationAuth["CreateOperationData"], "sourceRelation">[]> | OakOperation<BaseRelationAuth.OpUpdateAction, Omit<RelationAuth["UpdateOperationData"], "sourceRelation">, RelationAuth["Filter"]> | OakOperation<"remove", RelationAuth["RemoveOperationData"], RelationAuth["Filter"]>)[];
|
||||
relationAuth$destRelation?: (OakOperation<"create", Omit<RelationAuth["CreateOperationData"], "destRelation"> | Omit<RelationAuth["CreateOperationData"], "destRelation">[]> | OakOperation<BaseRelationAuth.OpUpdateAction, Omit<RelationAuth["UpdateOperationData"], "destRelation">, RelationAuth["Filter"]> | OakOperation<"remove", RelationAuth["RemoveOperationData"], RelationAuth["Filter"]>)[];
|
||||
userEntityClaim$relation?: (OakOperation<"create", Omit<UserEntityClaim["CreateOperationData"], "relation"> | Omit<UserEntityClaim["CreateOperationData"], "relation">[]> | OakOperation<BaseUserEntityClaim.OpUpdateAction, Omit<UserEntityClaim["UpdateOperationData"], "relation">, UserEntityClaim["Filter"]> | OakOperation<"remove", UserEntityClaim["RemoveOperationData"], UserEntityClaim["Filter"]>)[];
|
||||
userRelation$relation?: (OakOperation<"create", Omit<UserRelation["CreateOperationData"], "relation"> | Omit<UserRelation["CreateOperationData"], "relation">[]> | OakOperation<BaseUserRelation.OpUpdateAction, Omit<UserRelation["UpdateOperationData"], "relation">, UserRelation["Filter"]> | OakOperation<"remove", UserRelation["RemoveOperationData"], UserRelation["Filter"]>)[];
|
||||
}>;
|
||||
|
|
@ -541,6 +555,7 @@ export type RelationAuth = {
|
|||
Aggregation: DeduceAggregation<RelationAuth["Projection"], RelationAuth["Filter"], RelationAuth["Sorter"]>;
|
||||
CreateOperationData: FormCreateData<BaseRelationAuth.OpSchema & {
|
||||
sourceRelation?: OakOperation<"create", Relation["CreateOperationData"]> | OakOperation<BaseRelation.OpUpdateAction, Relation["UpdateOperationData"], Relation["Filter"]>;
|
||||
path?: OakOperation<"create", Path["CreateOperationData"]> | OakOperation<BasePath.OpUpdateAction, Path["UpdateOperationData"], Path["Filter"]>;
|
||||
destRelation?: OakOperation<"create", Relation["CreateOperationData"]> | OakOperation<BaseRelation.OpUpdateAction, Relation["UpdateOperationData"], Relation["Filter"]>;
|
||||
}>;
|
||||
CreateSingle: OakOperation<"create", RelationAuth["CreateOperationData"]>;
|
||||
|
|
@ -548,6 +563,7 @@ export type RelationAuth = {
|
|||
Create: RelationAuth["CreateSingle"] | RelationAuth["CreateMulti"];
|
||||
UpdateOperationData: FormUpdateData<BaseRelationAuth.OpSchema & {
|
||||
sourceRelation?: OakOperation<"create", Relation["CreateOperationData"]> | OakOperation<BaseRelation.OpUpdateAction, Relation["UpdateOperationData"], Relation["Filter"]> | OakOperation<"remove", Relation["RemoveOperationData"], Relation["Filter"]>;
|
||||
path?: OakOperation<"create", Path["CreateOperationData"]> | OakOperation<BasePath.OpUpdateAction, Path["UpdateOperationData"], Path["Filter"]> | OakOperation<"remove", Path["RemoveOperationData"], Path["Filter"]>;
|
||||
destRelation?: OakOperation<"create", Relation["CreateOperationData"]> | OakOperation<BaseRelation.OpUpdateAction, Relation["UpdateOperationData"], Relation["Filter"]> | OakOperation<"remove", Relation["RemoveOperationData"], Relation["Filter"]>;
|
||||
}>;
|
||||
Update: OakOperation<BaseRelationAuth.OpUpdateAction, RelationAuth["UpdateOperationData"], RelationAuth["Filter"], RelationAuth["Sorter"]>;
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@ exports.desc = {
|
|||
origin: {
|
||||
notNull: true,
|
||||
type: "enum",
|
||||
enumeration: ["qiniu", "wechat", "ctyun", "aliyun", "tencent", "local", "unknown"]
|
||||
enumeration: ["qiniu", "wechat", "ctyun", "aliyun", "tencent", "local", "unknown", "s3"]
|
||||
},
|
||||
type: {
|
||||
notNull: true,
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@ exports.style = void 0;
|
|||
exports.style = {
|
||||
color: {
|
||||
origin: {
|
||||
s3: '#FFA500',
|
||||
qiniu: '#37caff',
|
||||
wechat: '#2aae67',
|
||||
ctyun: '#ff0000',
|
||||
|
|
|
|||
|
|
@ -4,7 +4,7 @@ import { MakeAction as OakMakeAction, EntityShape } from "oak-domain/lib/types/E
|
|||
import { GenericAction } from "oak-domain/lib/actions/action";
|
||||
import { String, Text, Int, Float, Boolean } from "oak-domain/lib/types/DataType";
|
||||
export type OpSchema = EntityShape & {
|
||||
origin: "qiniu" | "wechat" | "ctyun" | "aliyun" | "tencent" | "local" | "unknown";
|
||||
origin: "qiniu" | "wechat" | "ctyun" | "aliyun" | "tencent" | "local" | "unknown" | "s3";
|
||||
type: "image" | "video" | "audio" | "file";
|
||||
bucket?: String<32> | null;
|
||||
objectId?: String<64> | null;
|
||||
|
|
@ -33,7 +33,7 @@ export type OpFilter = {
|
|||
$$createAt$$: Q_DateValue;
|
||||
$$seq$$: Q_NumberValue;
|
||||
$$updateAt$$: Q_DateValue;
|
||||
origin: Q_EnumValue<"qiniu" | "wechat" | "ctyun" | "aliyun" | "tencent" | "local" | "unknown">;
|
||||
origin: Q_EnumValue<"qiniu" | "wechat" | "ctyun" | "aliyun" | "tencent" | "local" | "unknown" | "s3">;
|
||||
type: Q_EnumValue<"image" | "video" | "audio" | "file">;
|
||||
bucket: Q_StringValue;
|
||||
objectId: Q_StringValue;
|
||||
|
|
|
|||
|
|
@ -30,7 +30,8 @@
|
|||
"aliyun": "阿里云",
|
||||
"tencent": "腾讯云",
|
||||
"local": "本地",
|
||||
"unknown": "未知"
|
||||
"unknown": "未知",
|
||||
"s3": "S3"
|
||||
},
|
||||
"type": {
|
||||
"image": "图像",
|
||||
|
|
|
|||
|
|
@ -37,7 +37,6 @@ exports.desc = {
|
|||
type: "object"
|
||||
}
|
||||
},
|
||||
static: true,
|
||||
actionType: "crud",
|
||||
actions: action_1.genericActions,
|
||||
indexes: [
|
||||
|
|
|
|||
|
|
@ -27,10 +27,18 @@ export type PfwConfig = {
|
|||
export type MfwConfig = {
|
||||
appId: string;
|
||||
};
|
||||
export type PwdConfig = {
|
||||
mode: "all" | "plain" | "sha1";
|
||||
min: number;
|
||||
max: number;
|
||||
verify?: boolean;
|
||||
regexs?: string[];
|
||||
tip?: string;
|
||||
};
|
||||
export type OpSchema = EntityShape & {
|
||||
systemId: ForeignKey<"system">;
|
||||
type: Type;
|
||||
config?: (SmsConfig | EmailConfig | PfwConfig | MfwConfig) | null;
|
||||
config?: (SmsConfig | EmailConfig | PfwConfig | MfwConfig | PwdConfig) | null;
|
||||
enabled: Boolean;
|
||||
} & {
|
||||
[A in ExpressionKey]?: any;
|
||||
|
|
@ -43,7 +51,7 @@ export type OpFilter = {
|
|||
$$updateAt$$: Q_DateValue;
|
||||
systemId: Q_StringValue;
|
||||
type: Q_EnumValue<Type>;
|
||||
config: JsonFilter<SmsConfig | EmailConfig | PfwConfig | MfwConfig>;
|
||||
config: JsonFilter<SmsConfig | EmailConfig | PfwConfig | MfwConfig | PwdConfig>;
|
||||
enabled: Q_BooleanValue;
|
||||
} & ExprOp<OpAttr | string>;
|
||||
export type OpProjection = {
|
||||
|
|
@ -55,7 +63,7 @@ export type OpProjection = {
|
|||
$$seq$$?: number;
|
||||
systemId?: number;
|
||||
type?: number;
|
||||
config?: number | JsonProjection<SmsConfig | EmailConfig | PfwConfig | MfwConfig>;
|
||||
config?: number | JsonProjection<SmsConfig | EmailConfig | PfwConfig | MfwConfig | PwdConfig>;
|
||||
enabled?: number;
|
||||
} & Partial<ExprOp<OpAttr | string>>;
|
||||
export type OpSortAttr = Partial<{
|
||||
|
|
|
|||
|
|
@ -19,7 +19,6 @@ exports.desc = {
|
|||
}
|
||||
},
|
||||
recursive: {
|
||||
notNull: true,
|
||||
type: "boolean"
|
||||
},
|
||||
sourceEntity: {
|
||||
|
|
@ -36,7 +35,6 @@ exports.desc = {
|
|||
}
|
||||
}
|
||||
},
|
||||
static: true,
|
||||
actionType: "crud",
|
||||
actions: action_1.genericActions,
|
||||
indexes: [
|
||||
|
|
|
|||
|
|
@ -5,7 +5,7 @@ import { String, Boolean } from "oak-domain/lib/types/DataType";
|
|||
export type OpSchema = EntityShape & {
|
||||
destEntity: String<32>;
|
||||
value: String<256>;
|
||||
recursive: Boolean;
|
||||
recursive?: Boolean | null;
|
||||
sourceEntity: String<32>;
|
||||
desc?: String<256> | null;
|
||||
} & {
|
||||
|
|
|
|||
|
|
@ -20,7 +20,6 @@ exports.desc = {
|
|||
ref: "relation"
|
||||
}
|
||||
},
|
||||
static: true,
|
||||
actionType: "crud",
|
||||
actions: action_1.genericActions,
|
||||
indexes: [
|
||||
|
|
|
|||
|
|
@ -22,8 +22,7 @@ exports.desc = {
|
|||
type: "ref",
|
||||
ref: "platform"
|
||||
},
|
||||
folder // 提现的loss在用户提现时计算
|
||||
: {
|
||||
folder: {
|
||||
type: "varchar",
|
||||
params: {
|
||||
length: 16
|
||||
|
|
|
|||
|
|
@ -6,6 +6,6 @@ import { BRC } from '../types/RuntimeCxt';
|
|||
* @param context
|
||||
* @param refunds
|
||||
*/
|
||||
export declare function updateWithdrawState(context: BRC, id: string): Promise<1 | 0>;
|
||||
export declare function updateWithdrawState(context: BRC, id: string): Promise<0 | 1>;
|
||||
declare const triggers: Trigger<EntityDict, 'withdraw', BRC>[];
|
||||
export default triggers;
|
||||
|
|
|
|||
|
|
@ -193,10 +193,10 @@ class AliPay extends AliPay_debug_1.default {
|
|||
const qrCodeWidth = this.apProduct.config?.qrCodeWidth || 100;
|
||||
const params = {
|
||||
bizContent: {
|
||||
subject: pay.order?.desc || (pay.orderId ? '订单支付' : '帐户充值'),
|
||||
out_trade_no: out_trade_no,
|
||||
total_amount: totalAmount,
|
||||
product_code: 'FAST_INSTANT_TRADE_PAY',
|
||||
subject: pay.order?.desc || (pay.orderId ? '订单支付' : '帐户充值'), // 订单标题
|
||||
out_trade_no: out_trade_no, // 商户订单号,64个字符以内、可包含字母、数字、下划线;需保证在商户端不重复
|
||||
total_amount: totalAmount, // 订单总金额,单位为元
|
||||
product_code: 'FAST_INSTANT_TRADE_PAY', // 销售产品码,商家和支付宝签约的产品码
|
||||
notify_url: payNotifyUrl,
|
||||
qr_pay_mode: qrPayMode,
|
||||
qrcode_width: qrCodeWidth,
|
||||
|
|
|
|||
|
|
@ -160,9 +160,9 @@ class WechatMpShipDebug {
|
|||
name: from.name,
|
||||
mobile: from.phone,
|
||||
// country: from!.area!.parent!.parent!.name!, //国家
|
||||
province: from.area.parent.parent.name,
|
||||
city: from.area.parent.name,
|
||||
area: from.area.name,
|
||||
province: from.area.parent.parent.name, //省份
|
||||
city: from.area.parent.name, //市
|
||||
area: from.area.name, // 区
|
||||
address: from.detail, //详细地址
|
||||
},
|
||||
receiver: {
|
||||
|
|
|
|||
10
package.json
10
package.json
|
|
@ -1,6 +1,6 @@
|
|||
{
|
||||
"name": "oak-pay-business",
|
||||
"version": "3.2.0",
|
||||
"version": "3.3.1",
|
||||
"description": "",
|
||||
"files": [
|
||||
"lib/**/*",
|
||||
|
|
@ -31,10 +31,10 @@
|
|||
"alipay-sdk": "^4.14.0",
|
||||
"classnames": "^2.3.1",
|
||||
"dayjs": "^1.11.5",
|
||||
"oak-domain": "^5.1.27",
|
||||
"oak-external-sdk": "^2.3.10",
|
||||
"oak-frontend-base": "^5.3.37",
|
||||
"oak-general-business": "~5.8.1",
|
||||
"oak-domain": "^5.1.28",
|
||||
"oak-external-sdk": "^2.3.11",
|
||||
"oak-frontend-base": "^5.3.38",
|
||||
"oak-general-business": "~5.9.2",
|
||||
"react-markdown": "^9.0.3",
|
||||
"wechat-pay-nodejs": "^0.2.3"
|
||||
},
|
||||
|
|
|
|||
Loading…
Reference in New Issue