open-index/open-npm huggingface dataset:
npm package: @qidevs/mdlink
Description: MDlink CLI for publishing and fetching Markdown docs
Latest version: 0.1.1

# @qidevs/mdlink

CLI for publishing Markdown to MDlink and fetching published docs back by code.

## Install

```bash
npm i -g @qidevs/mdlink
```

## Quick start

Publish a local Markdown file:

```bash
mdlink publish README.md
```

Fetch a published doc:

```bash
mdlink get <code>
mdlink get <code> --raw
```

Run without installing:

```bash
npx @qidevs/mdlink publish README.md
```

## Common commands

Publish Markdown:

```bash
mdlink publish README.md
cat note.md | mdlink publish
mdlink publish README.md --json
```

Get a published doc:

```bash
mdlink get <code>
mdlink get <code> --raw
```

## Links

- Docs: https://mdlink.to/docs
npm package: @qidian99/qwidget
Description: Web components, React, and Preact Widgets for animation and presentation
Author: Dian Qi
Latest version: 0.1.2

# QWidget

## Components

### Video Player
### Charts
### Cards
### Tables
### Animation Components

## React compatibility

The widgets are fully compatibile with React. Add the following lines to `preact.config.js` will
suffice:

```js
export default config => {
  const aliases = config.resolve.alias;
  aliases.react = "preact/compat";
  aliases["react-dom"] = "preact/compat";
}
```
npm package: @qidian99/strapi-plugin-graphql
Description: This is the description of the plugin.
Author: Dian Qi
Latest version: 3.1.8

# Strapi GraphQL

This plugin will add GraphQL functionality to your app.
By default it will provide you with most of the CRUD methods exposed in the Strapi REST API.

To learn more about GraphQL in Strapi [visit documentation](https://strapi.io/documentation/v3.x/plugins/graphql.html)
npm package: @qiejs/ajax
Description: ajax for axios
Author: LIUTAO
Latest version: 0.0.52

## qie-ajax

对 Axios 进行一定的封装，用于简化接口定义与调用方式

### 安装

```
npm install @qiejs/ajax
```

## 初始化

```js
// ajax.js

import Ajax from "@qiejs/ajax";
import axios from "axios";

axios.defaults.timeout = 60 * 1000;
axios.defaults.baseURL = "https://api.example.com";

// ----------------- 拦截器
// 添加请求拦截器
axios.interceptors.request.use(
  function(config) {
    // 在发送请求之前做些什么
    return config;
  },
  function(error) {
    // 对请求错误做些什么
    return Promise.reject(error);
  }
);

// 添加响应拦截器
axios.interceptors.response.use(
  function(response) {
    // 对响应数据做点什么
    return response;
  },
  function(error) {
    // 对响应错误做点什么
    return Promise.reject(error);
  }
);

const createAjax = new Ajax({
  axios: axios,
  // post请求的数据类型
  dataType: "json",
  // 根据不同框架来显示和隐藏 Loading
  loading: {
    show: () => {
      Toast.loading();
    },
    hide: () => {
      Toast.clear();
    }
  },
  // 统一的异常处理
  catch: err => {
    alert(err.message);
  }
});

export default createAjax;
```

### 定义 API

```js
// api.js
import createAjax from "./ajax";

const apis = {
  login: "post /login",
  getUser: id => `get /user/${id}`
};

export default createAjax(apis, "/api");
```

### 使用

```js
import api from './api'

api.login({
  data: {userName: 'jack', passwrod: '12111' }
  loading: true
}).then(res => {
  console.log(res)
})

api.getUser(userId)({
  data:{ a: 1},
  loading: true,
  catchError: false,
}).then(res => {
  console.log(res)
}).catch(err => {
  console.log(err)
})
```
npm package: @qiejs/cli
Description: cli tool for qie
Author: hz_liutao@qq.com
Latest version: 0.1.7

---
title: 命令行工具
---

## qie

为前端项目发布提供配置文初始化、上传资源至阿里云、提交版本信息至数据库

### 安装

```bash
npm i -g @qiejs/cli
```

### 配置文件初始化

```
qie init
```

### 上传资源并提交版本信息

```
qie upload -r
```

## 更新日志

**2020/04/07**

- 去掉 `ts` 编译，使用原生 `node` 语法 (请确保 node 版本大于 10.0)
- 修改 `qie-cli` 简写成 `qie`
- 新增 `qie create <appName>` 基于模板创建项目
- 新增 `qie login` 初始化登录信息, 每个新项目需要执行一次
- 新增 `qie page <pageName>` 快速创建一个页面，加 -r 创建 react 页面，加 -v 创建 vue 页面
npm package: @qiejs/jsbridge
Description: jsbridge for qie webview
Author: LIUTAO
Latest version: 0.0.49

---
title: 与Native交互
---

## 与 Native 交互

基于 `WebViewJavascriptBridge` 的封装，提供与 `Native` 交互的 API

### 使用

```js
import * as bridge from "@qiejs/jsbridge";

// 获取Native用户登录后的数据
bridge.getUserInfo().then(user => {
  console.log(user);
});

// 通知Native更新用户信息
bridge.updateUser();
```

### API

```js
// 初始回调
onReady;
// 获取登录信息
getUserInfo;
// 跳转到某页面
routerTo;
// 跳转到H5页面
routerToH5;
// 到登录
login;
// 更新用户信息
updateUser;
// 回首页
goHome;
// 返回
goBack;
// 设置导航栏右侧内容
setNavRight;
// 微信分享
wxShare;
// 海报图片分享
wxShareImg;
// 预览文件
privewFiles;
// appleIAP
appleIAP;
// 注册JS回调
registerMethod;
// 安卓端获取图片
getImage;
```
npm package: @qiejs/lstore
Description: lstore for localstorage
Author: LIUTAO
Latest version: 0.0.50

## qie-lstore

对 store 进行一定的封装，用于简化 localstorage 的操作

### 安装

```
npm install @qiejs/qie-lstore
```

## 初始化

```js
// lstore.js

import LStore from "@qiejs/lstore";

// 定义key的类型
interface IKeys {
  username: string;
}

// 注册key名
const keys = ["username"];
const prefix = "app/";

const lstore = new LStore() < IKeys > prefix;
const localstore = lstore.init(keys);

export default localstore;
```

### 使用

```js
import lstore from "./lstore";

// 存
lstore.username = "jack";

// 取
console.log(lstore.username);
```

微信 typescript 的定义

https://github.com/gushiaoke/wx-ts/blob/master/%40types/wx-app/index.d.ts
https://github.com/Gemicat/wxapp-typescript/blob/master/typings/wx/lib.wx.api.d.ts
https://github.com/Adherentman/Typescript-wxApi.d.ts/blob/master/wx.d.ts
npm package: @qiejs/rui
Description: 基于React、Antd扩展的业务组件库
Author: Aitter
Latest version: 0.0.16

# rui

基于 `React`、`Antd` 扩展的 `UI` 组件库

[在线文档]()

## 简介

`@qiejs/rui` 是依据业务发展，扩展出来的 UI 组件库，有在 `antd` 基础上扩展的组件，也有基于一些开源插件封装的组件，组件类型偏见业务场景。

## 特性

- 支持 TypeScript
- 支持 单元测试 Jest + @testing-library/react
- 支持 less
- 支持 eslint & prettier
- 支持 react-app-rewired
- 基于 umijs/father 完成打包，可使用 cjs、esm 和 umd 三种格式的引用
- 支持 mdx 文档

依赖库的版本

- react: 16.x
- antd: 3.16.16

## 文档

## 安装

## 按需使用

## 交流与反馈

## 计划

正在开发的组件列表：

- [x] CopyToClipboard 复制
- [x] Description 数据项展示
- [x] QRCodeViewer 二维码展示
- [x] SearchSelect 查询输入
- [x] StateTag 状态标签
- [x] XSelect 下拉选择器
- [x] XTable 扩展的 Table
- [x] SearchForm 查询表单
- [x] BgImg 背景图
- [x] XUpload 文件上传
- [ ] NumberCounter 数字滚动
- [ ] Countdown 倒计时
- [ ] VideoUpload 视频上传(点播视频分片上传)
- [ ] VideoPlayer 视频播放
- [ ] AudioPlayer 音频播放
- [ ] BraftEditor 富文本编辑器
- [ ] TextEllipsis 文本省略

## License

MIT

## 参考

[xu_ui](https://github.com/MrXujiang/xu_ui) [dantd](https://github.com/jokingzhang/dantd)

<!--
https://juejin.im/post/5e332561f265da3e1a59b2d9#heading-12
https://juejin.im/post/5dccc9b8e51d4510840165e2#heading-13 -->

## 几个要注意的地方

组件内不要引用 `less` 或 `css` 文件

1. 测试框架不支持样式引入
2. 不便于管理样式的依赖

UI 组件在实际项目使用时，组件 js 与样式分开引用，可使用 `babel-plugin-import` 插件

```ts
import { Alert } from '@qiejs/rui';

// =>
import Alert from '@qiejs/rui/es/alert';
import '@qiejs/rui/es/alert/style';
```

项目配置

```
.eslintrc.js

.prettierrc.js

.stylelintrc.js

.commitlintrc.js

.fatherrc.js

.umirc.js

tsconfig.json
```

- JS 编码规范 使用 `@umijs/fabric` 中的 `eslint` 与 `prettier`
- 样式书写规范 使用 `@umijs/fabric` 中的 `stylelint`
- Commit 规范 `husky` 提交之前的勾子，`lint-staged` 对暂存中的代码进行检查
- Changelog 日志生成
- Doc 生成 `dumi`
- Test 组件测试
- 组件打包 `father`
- 发布到 gh-pages
- 发布流程标准化
- 快速生成组件模板

限制 commit 信息格式

```
yarn add @commitlint/cli @commitlint/config-conventional commitizen cz-conventional-changelog --dev
```
npm package: @qiejs/utils
Description: utils for qie projects
Author: LIUTAO
Latest version: 0.1.2

## qie-utils

参考： https://github.com/RayAiden/ts-utils

工具类

### Date

- formatDate
- formatISODate
- formatISOTime
- formatISODateTime
- insureDate

#### formatDate 日期格式化

- 参数: dateValue 时间戳 | 日期字符串
- 参数: formatString yyyyMMdd mm:hh:ss

#### 使用

```js
formatDate(new Date().getTime(), "yyyy/MM/dd hh:mm:ss"); // "2019/11/06 15:31:50"
```

#### formatISODate 获取标准日期

date: 时间戳 | 日期字符串 | 日期对象

#### 使用

```js
formatISODate(new Date()); // 2019-11-06
```

#### formatISOTime 获取标准时间

date: 时间戳 | 日期字符串 | 日期对象

```js
formatISOTime(new Date()); // 07:27:33
```

#### formatISODateTime 获取标准日期和时间

date: 时间戳 | 日期字符串 | 日期对象

```js
formatISODateTime(new Date()); // 2019-11-06 07:27:33
```

### DOM

- scrollTop

### Number

- numeral
- randomNum
- toFixedNum
- toDecimalMark
- epsEqDecimal
- px2vw
- vw2Px
- kb2mb
- formatPrice
- unFormat
- formatNum
- add
- sub
- mul
- div

### Base

- isAndroid
- isIphone
- isIpad
- isWx
- isAli
- isPhone
- isObject
- isFunction
- isString
- isBoolean
- isPlainObject
- isUndefined
- isArray
- isNull
- isNullOrUndefined
- isEmpty
- deepClone
- deepMerge

### Rules

- rules
- regMap

### String

- getFileSuffix
- getNameById
- repeat
- delWhitespace
- isEmpty
- countMatches
  randomId

### URL

- url
- getUrlParam
- resolve
- urlToList
- removeParam
- addParam
- updateParam
- obj2pms
- buildUrl
npm package: @qiejs/wxjssdk
Description: wechat jssdk ts
Author: LIUTAO
Latest version: 0.0.3

# `qie-wxjssdk`

> 微信 JSSDK 的 TS 版本，封装了几个常用的 API，用于规范和简化 API 的使用

## Usage

```ts
import wx from '@qiejs/wxjssdk';

// SDK初始化
wx.readyAsync();

// 异步分享
wx.shareAsync();

// 异步支付
wx.payAsync();

// 隐藏功能菜单
wx.hideShareMenus();

// 隐藏底部导航
wx.hideToolbar();
```
npm package: @qifi/generate
Description: Stream Generated QR Codes for data transmission
Author: Rizumu Ayaka
Latest version: 0.2.0

# @qifi/generate

<!-- Some beautiful tags -->
<p align="left">
  <a href="https://www.npmjs.com/package/@qifi/generate">
    <img alt="npm" src="https://badgen.net/npm/v/@qifi/generate">
  </a>
  <a href="#usage">
    <img alt="docs" src="https://img.shields.io/badge/-docs%20%26%20demos-1e8a7a">
  </a>
  <a href="https://github.com/sponsors/LittleSound">
    <img alt="sponsors" src="https://img.shields.io/static/v1?label=Sponsor&message=%E2%9D%A4&logo=GitHub&color=%23fe8e86">
  </a>
</p>

Stream Generated QR Codes for data transmission

## Sponsors

<p align="center">
  <a href="https://github.com/sponsors/LittleSound">
    <img src="https://cdn.jsdelivr.net/gh/littlesound/sponsors/sponsors.svg"/>
  </a>
</p>

<p align="center">
  This project is made possible by all the sponsors supporting my work <br>
  You can join them at my sponsors profile:
</p>
<p align="center"><a href="https://github.com/sponsors/LittleSound"><img src="https://img.shields.io/static/v1?label=Sponsor&message=%E2%9D%A4&logo=GitHub&color=%23fe8e86&style=for-the-badge" /></a></p>

## Usage

```javascript
import {
  createGeneraterANSI,
  createGeneraterUnicode,
  createGeneraterUnicodeCompact,
  createGeneraterSVG,
  createGeneraterQRCodeArray,
} from '@qifi/generate'

const generaterSvg = createGeneraterSVG(new Uint8Array(file.buffer))

const generaterANSI = createGeneraterANSI(new Uint8Array(file.buffer), {
  // Size of each data slice
  sliceSize: 250,
  // Error correction level
  ecc: 'L',
  // Border width
  border: 2,
})

// display QR Code in terminal
for (const blockQRCode of generaterANSI.fountain()) {
  console.log(blockQRCode)
}

```

### With meta data

If you want to transfer the metadata of the file:

```javascript
import {
  appendFileHeaderMetaToBuffer,
  readFileHeaderMetaFromBuffer,
} from '@qifi/generate'

const data = new Uint8Array(file.buffer)
const meta = {
  filename: file.name,
  contentType: file.type,
}
const merged = appendFileHeaderMetaToBuffer(data, meta)
const generater = createGeneraterUnicode(merged)

// Send blocks to the receiver
for (const block of generater.fountain()) {
  // display QR Code in terminal
  console.log(blockQRCode)
}
```

and you can use `appendMetaToBuffer` and `readMetaFromBuffer` to add and read custom metadata.
npm package: @qified/redis
Description: Redis message provider for qified
Author: Jared Wray
Latest version: 0.9.1

# @qified/redis

Redis message provider for [Qified](https://github.com/jaredwray/qified).

This package implements a message provider backed by Redis using the Redis `publish`/`subscribe` commands.

## Table of Contents

- [Installation](#installation)
- [Usage with Qified](#usage-with-qified)
- [API](#api)
  - [RedisMessageProviderOptions](#redismessageprovideroptions)
  - [defaultRedisUri](#defaultredisuri)
  - [RedisMessageProvider](#redismessageprovider)
    - [constructor](#constructor)
    - [publish](#publish)
    - [subscribe](#subscribe)
    - [unsubscribe](#unsubscribe)
    - [disconnect](#disconnect)
  - [createQified](#createqified)
- [Contributing](#contributing)
- [License](#license)

## Installation

```bash
pnpm add @qified/redis
```

## Usage with Qified

```ts
import { createQified } from "@qified/redis";
import type { Message } from "qified";

const qified = createQified({ uri: "redis://localhost:6379" });

await qified.subscribe("example-topic", {
        async handler(message: Message) {
                console.log(message);
        },
});

await qified.publish("example-topic", { id: "1", data: "Hello from Redis!" });

await qified.disconnect();
```

## API

### RedisMessageProviderOptions

Configuration options for the Redis message provider.

- `uri?`: Redis connection URI. Defaults to [`defaultRedisUri`](#defaultredisuri).

### defaultRedisUri

Default Redis connection string (`"redis://localhost:6379"`).

### RedisMessageProvider

Implements the `MessageProvider` interface using Redis pub/sub.

#### constructor(options?: RedisMessageProviderOptions)

Creates a new provider.

Options:

- `uri`: Redis connection URI (defaults to `"redis://localhost:6379"`).

#### publish(topic: string, message: Message)

Publishes a message to a topic.

#### subscribe(topic: string, handler: TopicHandler)

Subscribes a handler to a topic.

#### unsubscribe(topic: string, id?: string)

Unsubscribes a handler by id or all handlers for a topic.

#### disconnect()

Disconnects the underlying Redis clients and clears all subscriptions.

### createQified(options?: RedisMessageProviderOptions)

Convenience factory that returns a `Qified` instance configured with `RedisMessageProvider`.

## Contributing

Contributions are welcome! Please read the [CONTRIBUTING.md](../../CONTRIBUTING.md) and [CODE_OF_CONDUCT.md](../../CODE_OF_CONDUCT.md) for details on our process.

## License

MIT © Jared Wray. See [LICENSE](../../LICENSE) for details.
npm package: @qified/zeromq
Description: ZeroMQ message provider for qified
Author: Jared Wray
Latest version: 0.9.1

# @qified/zeromq

ZeroMQ message provider for [Qified](https://github.com/jaredwray/qified).

This package implements a message provider backed by ZeroMQ using queues for publish and subscribe operations.

## Table of Contents

- [Installation](#installation)
- [Usage with Qified](#usage-with-qified)
- [API](#api)
  - [ZmqMessageProviderOptions](#zmqmessageprovideroptions)
  - [defaultZmqUri](#defaultzmquri)
  - [ZmqMessageProvider](#zmqmessageprovider)
    - [constructor](#constructor)
    - [publish](#publish)
    - [subscribe](#subscribe)
    - [unsubscribe](#unsubscribe)
    - [disconnect](#disconnect)
  - [createQified](#createqified)
- [Contributing](#contributing)
- [License](#license)

## Installation

```bash
pnpm add @qified/zeromq
```

## Usage with Qified

```ts
import { createQified } from "@qified/zeromq";
import type { Message } from "qified";

const qified = createQified({ uri: "tcp://localhost:5555" });

await qified.subscribe("example-topic", {
        async handler(message: Message) {
                console.log(message);
        },
});

await qified.publish("example-topic", { id: "1", data: "Hello from ZeroMQ!" });

await qified.disconnect();
```

## API

### ZmqMessageProviderOptions

Configuration options for the ZeroMQ message provider.

- `uri?`: ZeroMQ connection URI. Defaults to [`defaultZmqUri`](#defaultzmquri).

### defaultZmqUri

Default ZeroMQ connection string (`"tcp://localhost:5555"`).

### ZmqMessageProvider

Implements the `MessageProvider` interface using ZeroMQ queues.

#### constructor(options?: ZmqMessageProviderOptions)

Creates a new provider.

Options:

- `uri`: ZeroMQ connection URI (defaults to `"tcp://localhost:5555"`).

#### publish(topic: string, message: Message)

Publishes a message to a topic.

#### subscribe(topic: string, handler: TopicHandler)

Subscribes a handler to a topic.

#### unsubscribe(topic: string, id?: string)

Unsubscribes a handler by id or all handlers for a topic.

#### disconnect()

Cancels all subscriptions and closes the underlying ZeroMQ Publisher/Subscriber.

### createQified(options?: ZmqMessageProviderOptions)

Convenience factory that returns a `Qified` instance configured with `ZmqMessageProvider`.

## Contributing

Contributions are welcome! Please read the [CONTRIBUTING.md](../../CONTRIBUTING.md) and [CODE_OF_CONDUCT.md](../../CODE_OF_CONDUCT.md) for details on our process.

## License

MIT © Jared Wray. See [LICENSE](../../LICENSE) for details.
npm package: @qigy/http
Description: http
Author: qigy
Latest version: 0.0.7

---
@qigy/http是一个基于axios封装的一个易用，小体积请求库。
---

## Getting Started

### Install

```console
npm install @qigy/http --save

yarn install @qigy/http --save

pnpm install @qigy/http --save
```

### Demo

```javascript
import Http from '@qigy/http';

Http.Get('/get');
Http.Post('/post', { id: 'qi' });
```

### API

#### Register

说明：全局属性方法注册。

```javascript
import Http from '@qigy/http';

/* 方法一 */
Http.Register(options)；

/* 方法二 */
Http.Register.baseUrl('/a/b');
Http.Register.timeOut(100);
Http.Register.headers({});
Http.Register.requestInterceptor(() => {}, () => {});
Http.Register.responseInterceptor(() => {}, () => {});
```

备注：其中请求拦截器与响应拦截器只能注册一次。其余属性均可多次注册进行覆盖。

#### Get

说明：。。。。。

#### Post

说明：。。。。。

#### Put

说明：。。。。。

#### Patch

说明：。。。。。

#### Delete

说明：。。。。。

#### Download

说明：下载功能分装。

备注：自定义响应拦截器将会失效。

#### Request

说明：请求通用实例。

#### GetInstaince

说明：获取 axios 实例化的对象。
备注：功能暂未开放。

#### GetInterceptor：。。。。

说明：获取所有拦截器。
备注：功能暂未开放。
npm package: @qigy/utils--test
Description: utils
Author: qigy
Latest version: 0.0.4

# utils

#### Description

{**When you're done, you can delete the content in this README and update the file with details for others getting started with your repository**}

#### Software Architecture

Software architecture description

#### Installation

1.  xxxx
2.  xxxx
3.  xxxx

#### Instructions

1.  xxxx
2.  xxxx
3.  xxxx

#### Contribution

1.  Fork the repository
2.  Create Feat_xxx branch
3.  Commit your code
4.  Create Pull Request

#### Gitee Feature

1.  You can use Readme_XXX.md to support different languages, such as Readme_en.md, Readme_zh.md
2.  Gitee blog [blog.gitee.com](https://blog.gitee.com)
3.  Explore open source project [https://gitee.com/explore](https://gitee.com/explore)
4.  The most valuable open source project [GVP](https://gitee.com/gvp)
5.  The manual of Gitee [https://gitee.com/help](https://gitee.com/help)
6.  The most popular members [https://gitee.com/gitee-stars/](https://gitee.com/gitee-stars/)
npm package: @qihoo/fx-mp
Description: fenxi for 360 small program
Author: wendy_cy
Latest version: 0.0.1

## 360分析-小程序

### 功能概述

分析接入小程序，主要用于自定义数据收集，帮助开发者、运营人员数据分析，进行小程序优化。

### 代码配置

需要小程序开发者修改项目脚本，以编程方式配置。

#### 一、安装代码

需要安装npm包，命令如下：

```javascript
npm install @qihoo/fx-mp
```
建议在项目中的 app.js 文件中引入

```javascript
import mp from "@qihoo/fx-mp"
```
脚本会自动运行，自定义行为的触发，请按后面说明进行使用。

#### 二、自定义事件

自定义事件分析支持灵活多维和近实时的用户行为分析，可以通过自定义事件触发进行上报，对用户在小程序内的行为做精细化跟踪。目前支持注册、表单类、付款事件。

- 注册
	在注册成功的回调中调用下面代码，即可发送注册成功的打点

	代码如下：

	```javascript
	_qha.register({
		eid: '' /*用户id, 必填项*/
	})
	```

- 表单
	在表单中提交后的回调中调用下面代码，即可发送提交成功的打点

	代码如下：

	```javascript
	_qha.form({
		eid: xx   /*转化id， 必填项*/
	})
	```

- 付款
	在付款成功后的回调中调用下面代码，即可发送付款成功的打点

	代码如下：
	```javascript
	_qha.payment({
		eid: xx,   /*转化id， 必填项*/
		pymny: xx, /*支付金额, 必填项*/
		ptype: 1 /*类型：1小游戏，2网页, 必填项*/
	})
	```
	
#### 三、自定义点击

自定义点击主要针对页面中某些按钮，区域的点击量进行数据采集，便于开发者、运营人员进行数据分析。

_qha是全局变量，通过npm包的引入而创建，所以自定义点击的声明不得早于代码的执行。建议在app.js中onReady中声明，或者在target页面中的onReady中声明。

代码如下：
```javascript
	_qha.setClickTarget({
	id: 'Target的ID', /*必填项, string*/
	name: '自定义事件名称' /* 必填项，主要用于数据分析，查看其转化数据*/
	})
```

对于页面中的下载按钮的点击次数的收集，例如下载按钮的id是download，事件名称定为下载转化，示例如下
`_qha.setClickTarget({
	id: 'download',
	name: '下载转化'
})`
npm package: @qihoo/seapp-builder
Description: a compiler for 360 mp or gp
Author: 75team
Latest version: 1.1.9

# seapp builder
> 1. 360 小程序构建工具,用于构建开发者基于360小程序开发文档编写的源代码，使其能够运行在360小程序平台。
> 2. 360 小游戏构建工具,用于构建开发者基于微信小游戏编写的源代码，使其能够运行在360小游戏平台。
## TIP
### v1.1.x 小程序
- 支持 css 预处理器 Sass/Less
  - 默认支持的预处理器由 全局样式表app.css决定（app.scss -> 选用sass，less同理）
  - 存在 app.css/app.less/app.scss 时， 优先选择权 app.scss > app.less > app.css
- 支持 vuex 状态管理
  - 需要在根目录下的app.json文件中添加 store 字段，store 类型为字符串，值为 store文件相对路径（参考pages的路径规则）。
  - store文件中，直接导出Vuex.store实例化的参数选项即可。
  - Vuex默认挂在到全局的window下。 

### v1.1.x 小游戏
- 支持 qhgame-adapter.js自动引入

- 支持 开发模式下的wacht功能

- 支持 生产环境下的代码压缩功能

## ENV
- node >= 8.9
- npm | yarn
- 以下使用 npx 时要求 npm >= 5.2

## Install

```bash
npm install @qihoo/seapp-builder
```

## Usage
在 360mp 项目下使用 
```bash
Usage: builder <command> [options]

Options:
  -V, --version  output the version number
  -h, --help     output usage information

Commands:
  build          build project in production mode
  watch          build project in development mode and watch file  

  Run builder <command> --help for detailed usage of given command.
```

在 360gm 项目下使用 
```bash
Usage: gamebuilder <command> [options]

Options:
  -V, --version  output the version number
  -h, --help     output usage information

Commands:
  build          build project in production mode
  watch          build project in development mode and watch file  

  Run gamebuilder <command> --help for detailed usage of given command.
```

### 在 package.json 中配置使用
一、小程序

```json
{
  "scripts": {
    "serve": "builder watch",
    "build": "builder build"
  }
}
```

二、小游戏

```json
{
  "scripts": {
    "serve": "gamebuilder watch",
    "build": "gamebuilder build"
  }
}
```

### 通过 npx | yarn 使用
- 已项目安装

```bash
# 可以监听项目文件 实时构建
1. 小程序：`npx builder watch`

2. 小游戏： `npx gamebuilder watch`

# 构建生产环境目标文件
1. 小程序：`npx builder build`

2. 小游戏：`npx gamebuilder build`

```

- 已按照上述步骤在 package.json 中添加了 scripts

```shell
# 可以监听项目文件 实时构建
npm run serve

# 构建生产环境目标文件
npm run build
```
npm package: @qihoo/secard
Description: 开发者工具
Author: TTFE
Latest version: 1.3.0
Deprecated: false

# secard 开发者工具

**请注意：当前开发者工具属于内测阶段，仅供受邀用户使用，非受邀用户可能会遇到无法正常使用的情况。**

- 当前工具为 cli 交互工具；

---

## 安装：

建议使用全局安装，安装方法（您可能需要使用 sudo 权限）：

```
npm install @qihoo/secard -g
```

## 使用：

1. **创建 card：**

   登录 secard 开放平台按平台操作创建 secard ，如遇问题请联系产品对接专员。

2. **初始化项目：**

   创建 secard 项目目录，并在目录下执行 `secard init` 命令。

   ```
   > mkdir cardprj
   > cd cardprj
   > secard init
   ```

3. **发布项目：**

   提交 secard 代码：

   ```
   secard publish
   如果第一次使用或者更新过用户 token，需要填写token。
   ```

4. **提审 card：**

   提交secard后，等待后台审核通过后上线secard（或审核不通过后按要求修改后再次提审）。

## 其他命令：

- `secard run` ： 在本地运行 secard 项目
- `secard check` ： 检查开发者工具版本更新

更新帮助信息请使用 `secard -h` 查看。