Files
websopy-taro/types/global.d.ts
赵忠林 482cff5ece fix(utils): 优化小程序端复制文本功能体验
- 小程序端直接调用原生 wx.setClipboardData,避免 Taro Promise 封装问题
- 避免微信小程序重复显示复制成功提示和误报复制失败
- 失败时仅在小程序端输出错误日志,非小程序端显示提示
- 修改首页外链跳转逻辑,支持相对路径跳转,小程序内外链复制提示提升用户体验
- 更新项目内剪切板使用规范文档,说明复制行为调整及符合相应规范要求
2026-06-30 18:18:13 +08:00

164 lines
3.6 KiB
TypeScript
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/// <reference types="@tarojs/taro" />
// 静态资源模块声明
declare module '*.png' {
const content: string;
export default content;
}
declare module '*.gif' {
const content: string;
export default content;
}
declare module '*.jpg' {
const content: string;
export default content;
}
declare module '*.jpeg' {
const content: string;
export default content;
}
declare module '*.svg' {
const content: string;
export default content;
}
declare module '*.css' {
const content: Record<string, string>;
export default content;
}
declare module '*.less' {
const content: Record<string, string>;
export default content;
}
declare module '*.scss' {
const content: Record<string, string>;
export default content;
}
declare module '*.sass' {
const content: Record<string, string>;
export default content;
}
declare module '*.styl' {
const content: Record<string, string>;
export default content;
}
// 环境变量类型定义
declare namespace NodeJS {
interface ProcessEnv {
/** NODE 内置环境变量, 会影响到最终构建生成产物 */
NODE_ENV: 'development' | 'production' | 'test';
/** 当前构建的平台 */
TARO_ENV: 'weapp' | 'swan' | 'alipay' | 'h5' | 'rn' | 'tt' | 'quickapp' | 'qq' | 'jd';
/**
* 当前构建的小程序 appid
* @description 若不同环境有不同的小程序,可通过在 env 文件中配置环境变量`TARO_APP_ID`来方便快速切换 appid 而不必手动去修改 dist/project.config.json 文件
* @see https://taro-docs.jd.com/docs/next/env-mode-config#特殊环境变量-taro_app_id
*/
TARO_APP_ID: string;
/** API基础URL */
API_BASE_URL?: string;
/** 应用名称 */
APP_NAME?: string;
/** 调试模式 */
DEBUG?: string;
}
}
// 全局常量类型定义
declare const API_BASE_URL: string;
declare const APP_NAME: string;
declare const DEBUG: string;
// 微信小程序原生全局对象 wx
declare const wx: any;
// 基础类型定义
declare global {
/** 通用ID类型 */
type ID = string | number;
/** 时间戳类型 */
type Timestamp = number;
/** 可选的字符串或数字 */
type StringOrNumber = string | number;
/** 分页参数基础类型 */
interface BasePaginationParams {
page?: number;
limit?: number;
sort?: string;
order?: 'asc' | 'desc';
}
/** 分页响应基础类型 */
interface BasePaginationResponse<T = any> {
list: T[];
count: number;
page?: number;
limit?: number;
totalPages?: number;
}
/** API响应基础类型 */
interface BaseApiResponse<T = any> {
code: number;
message?: string;
data?: T;
timestamp?: Timestamp;
}
/** 基础实体类型 */
interface BaseEntity {
id?: ID;
createTime?: string;
updateTime?: string;
createBy?: string;
updateBy?: string;
}
/** 树形结构基础类型 */
interface BaseTreeNode<T = any> {
id: ID;
parentId?: ID;
children?: T[];
level?: number;
}
/** 选项类型 */
interface Option<T = StringOrNumber> {
label: string;
value: T;
disabled?: boolean;
children?: Option<T>[];
}
/** 文件上传类型 */
interface UploadFile {
uid: string;
name: string;
status: 'uploading' | 'done' | 'error';
url?: string;
size?: number;
type?: string;
}
/** 地址信息类型 */
interface AddressInfo {
province: string;
city: string;
district: string;
detail: string;
postalCode?: string;
longitude?: number;
latitude?: number;
}
/** 联系信息类型 */
interface ContactInfo {
name: string;
phone: string;
email?: string;
}
}