Skip to content

Commit

Permalink
miniprogram
Browse files Browse the repository at this point in the history
  • Loading branch information
saqqdy committed May 9, 2024
1 parent d48464e commit 8c6436b
Show file tree
Hide file tree
Showing 17 changed files with 106 additions and 69 deletions.
2 changes: 1 addition & 1 deletion package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "@gitmars/monorepo",
"description": "这是一个git工作流工具",
"version": "7.0.0-beta.31",
"version": "7.0.0-beta.32",
"packageManager": "[email protected]",
"main": "index.js",
"files": [
Expand Down
2 changes: 1 addition & 1 deletion packages/api/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "@gitmars/api",
"description": "gitmars api",
"version": "7.0.0-beta.31",
"version": "7.0.0-beta.32",
"private": false,
"main": "./dist/index.cjs.js",
"module": "./dist/index.esm-bundler.js",
Expand Down
30 changes: 30 additions & 0 deletions packages/api/src/miniprogram/clients.ts
Original file line number Diff line number Diff line change
@@ -0,0 +1,30 @@
import { get } from '../request/miniprogram'

const URL_PREFIX = '/api/component/clients'

export interface GetClientsConfig {
appID: string
extJson: string
config: string
createTime: string
updateTime: string
id: string
}
/**
* get clients config by appID
*
* @param appID - miniprogram appID
* @returns data
*/
export async function getClientsConfig(appID: string) {
return get<GetClientsConfig>({
url: `${URL_PREFIX}/configuration/getConfig`,
data: {
appID
}
})
}

export default {
getClientsConfig
}
1 change: 1 addition & 0 deletions packages/api/src/miniprogram/index.ts
Original file line number Diff line number Diff line change
@@ -1,3 +1,4 @@
export * from './authorization'
export * from './mpManage'
export * from './ticket'
export * from './clients'
2 changes: 1 addition & 1 deletion packages/build/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "@gitmars/build",
"description": "gitmars build",
"version": "7.0.0-beta.31",
"version": "7.0.0-beta.32",
"private": false,
"main": "./dist/index.cjs.js",
"module": "./dist/index.esm-bundler.js",
Expand Down
2 changes: 1 addition & 1 deletion packages/cache/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "@gitmars/cache",
"description": "gitmars cache",
"version": "7.0.0-beta.31",
"version": "7.0.0-beta.32",
"private": false,
"main": "./dist/index.cjs.js",
"module": "./dist/index.esm-bundler.js",
Expand Down
2 changes: 1 addition & 1 deletion packages/core/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "@gitmars/core",
"description": "gitmars核心程序",
"version": "7.0.0-beta.31",
"version": "7.0.0-beta.32",
"private": false,
"main": "./dist/index.cjs.js",
"module": "./dist/index.esm-bundler.js",
Expand Down
2 changes: 1 addition & 1 deletion packages/docs/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "@gitmars/docs",
"description": "gitmars文档库",
"version": "7.0.0-beta.31",
"version": "7.0.0-beta.32",
"private": false,
"files": [
"dist",
Expand Down
2 changes: 1 addition & 1 deletion packages/git/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "@gitmars/git",
"description": "gitmars git",
"version": "7.0.0-beta.31",
"version": "7.0.0-beta.32",
"private": false,
"main": "./dist/index.cjs.js",
"module": "./dist/index.esm-bundler.js",
Expand Down
2 changes: 1 addition & 1 deletion packages/gitmars/package.json
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
"name": "gitmars",
"description": "这是一个git工作流工具",
"type": "module",
"version": "7.0.0-beta.31",
"version": "7.0.0-beta.32",
"private": false,
"bin": {
"gitm": "lib/gitm.mjs"
Expand Down
18 changes: 12 additions & 6 deletions packages/gitmars/src/gitm-miniprogram.ts
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,13 @@ import { Separator, confirm, input, select } from '@inquirer/prompts'
import chalk from 'chalk'
import dayjs from 'dayjs'
import to from 'await-to-done'
import { base64ToArrayBuffer } from 'js-cool'
import { createArgs, printQrcode, readQrcode } from '@gitmars/utils'
import {
bindTester,
getAuditStatus,
getAuthorizerListWithAllDetail,
getClientsConfig,
getPreAuthQrCode,
getTrialQrCode,
unbindTester,
Expand Down Expand Up @@ -42,6 +44,7 @@ program.action(async (miniprogram: string, opt: GitmMiniprogramOption): Promise<
// get auth qrcode
const authUrl = await getPreAuthQrCode()
await printQrcode(authUrl)
process.exit(0)
} else if (!miniprogram) {
const [, list = []] = await to(
getAuthorizerListWithAllDetail({ limit: 500 }).then(({ list }) => {
Expand Down Expand Up @@ -104,7 +107,13 @@ program.action(async (miniprogram: string, opt: GitmMiniprogramOption): Promise<
const [, data] = await to(getAuditStatus(miniprogram))
if (data) {
const colorList = ['bgGreen', 'bgRed', 'bgBlack', 'bgBlack', 'bgYellow'] as const
const tag = ['审核成功', '审核被拒绝', '审核中', '已撤回', '审核延后'][data.status]
const tag = [
t('Audit Successful'),
t('Audit Rejected'),
t('Audit in Progress'),
t('Withdrawn'),
t('Audit Delayed')
][data.status]
let txt = chalk[colorList[data.status]](tag)
if ([1, 4].includes(data.status) && data.reason) txt += ': ' + data.reason
if (data.time) txt += '\n' + dayjs(data.time).format('YYYY-MM-DD HH:mm')
Expand All @@ -125,13 +134,10 @@ program.action(async (miniprogram: string, opt: GitmMiniprogramOption): Promise<
//
} else if (action === 'trial_qrcode') {
const [, path = ''] = await to(
input({
message: t('Enter path of miniprogram'),
transformer: val => val.trim()
}).then(val => val.trim())
getClientsConfig(miniprogram).then(({ config }) => JSON.parse(config).path)
)
const [, codeImage = ''] = await to(getTrialQrCode({ path, authorizer_appid: miniprogram }))
printQrcode(await readQrcode(codeImage))
printQrcode(await readQrcode(base64ToArrayBuffer(codeImage)))
} else if (action === 'bind_tester') {
const [, wechatid = ''] = await to(
input({
Expand Down
6 changes: 5 additions & 1 deletion packages/gitmars/src/locales/zh-CN.ts
Original file line number Diff line number Diff line change
Expand Up @@ -450,7 +450,11 @@ export default {
'Bind Tester': '绑定体验者',
'Unbind Tester': '解绑体验者',
'Name of miniprogram, used for fuzzy searches': '小程序名称,用于模糊搜索',
'Enter path of miniprogram': '输入小程序路径',
'Audit Successful': '审核成功',
'Audit Rejected': '审核被拒绝',
'Audit in Progress': '审核中',
Withdrawn: '已撤回',
'Audit Delayed': '审核延后',
'Confirm undo audit': '是否确认撤回审核',
'Enter wechat account': '输入微信号',
'Implementation success': '执行成功',
Expand Down
2 changes: 1 addition & 1 deletion packages/go/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "@gitmars/go",
"description": "gitmars go",
"version": "7.0.0-beta.31",
"version": "7.0.0-beta.32",
"private": false,
"main": "./dist/index.cjs.js",
"module": "./dist/index.esm-bundler.js",
Expand Down
2 changes: 1 addition & 1 deletion packages/hook/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "@gitmars/hook",
"description": "gitmars hook",
"version": "7.0.0-beta.31",
"version": "7.0.0-beta.32",
"private": false,
"main": "./dist/index.cjs.js",
"module": "./dist/index.esm-bundler.js",
Expand Down
2 changes: 1 addition & 1 deletion packages/utils/package.json
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
{
"name": "@gitmars/utils",
"description": "gitmars utils",
"version": "7.0.0-beta.31",
"version": "7.0.0-beta.32",
"private": false,
"main": "./dist/index.cjs.js",
"module": "./dist/index.esm-bundler.js",
Expand Down
2 changes: 1 addition & 1 deletion packages/utils/src/qrcode.ts
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ const { t } = lang
*
* @param imagePath - image path
*/
export async function readQrcode(imagePath: string): Promise<string> {
export async function readQrcode(imagePath: any): Promise<string> {
return new Promise((resolve, reject) => {
Jimp.read(imagePath, function (err, image) {
if (err) {
Expand Down
96 changes: 46 additions & 50 deletions scripts/publish.ts
Original file line number Diff line number Diff line change
Expand Up @@ -13,8 +13,7 @@ export const ROOT = join(__dirname, '..')
export const PACKAGE = join(ROOT, 'packages')

const REGISTRY_URL = 'https://registry.npmjs.org'
const jsonMap: Record<string, any> = {}
let command = `pnpm --registry=${REGISTRY_URL} publish -r --access public`
let command = `npm --registry=${REGISTRY_URL} publish --access public`
if (IS_DRY_RUN) command += ' --dry-run'

if (version.includes('rc')) command += ' --tag release'
Expand All @@ -25,58 +24,55 @@ else if (IS_TEST) {
process.exit(0)
}

transformPkgJson()

to(
promisify(exec)(command, {
cwd: ROOT,
timeout: 30000
})
)
.then(([err]) => {
err && console.error(err)
})
.finally(() => transformPkgJson(true))

function transformPkgJson(isFallback = false) {
for (const { name } of packages) {
;(async () => {
for await (const { name } of packages) {
const dirName = name.replace(/\./g, sep)
const cwd = name === 'monorepo' ? ROOT : join(PACKAGE, dirName)
const PKG_FILE = join(cwd, 'package.json')
if (!isFallback) {
jsonMap[name] = readJSONSync(PKG_FILE)!
const newPkgJson = clone(jsonMap[name])
for (const { pkgName: pkg } of packages) {
if (
pkg in ((newPkgJson.dependencies as Record<string, unknown>) || {}) &&
newPkgJson.dependencies[pkg].includes('workspace')
) {
newPkgJson.dependencies[pkg] = version
}
if (
pkg in ((newPkgJson.devDependencies as Record<string, unknown>) || {}) &&
newPkgJson.devDependencies[pkg].includes('workspace')
) {
newPkgJson.devDependencies[pkg] = version
}
if (
pkg in ((newPkgJson.peerDependencies as Record<string, unknown>) || {}) &&
newPkgJson.peerDependencies[pkg].includes('workspace')
) {
newPkgJson.peerDependencies[pkg] = version
}

const pkgJson: Record<string, any> = readJSONSync(PKG_FILE)!
const newPkgJson = clone(pkgJson)
for (const { pkgName: pkg } of packages) {
if (
pkg in ((newPkgJson.dependencies as Record<string, unknown>) || {}) &&
newPkgJson.dependencies[pkg].includes('workspace')
) {
newPkgJson.dependencies[pkg] = version
}
if (
pkg in ((newPkgJson.devDependencies as Record<string, unknown>) || {}) &&
newPkgJson.devDependencies[pkg].includes('workspace')
) {
newPkgJson.devDependencies[pkg] = version
}
if (
pkg in ((newPkgJson.peerDependencies as Record<string, unknown>) || {}) &&
newPkgJson.peerDependencies[pkg].includes('workspace')
) {
newPkgJson.peerDependencies[pkg] = version
}
writeJSONSync(PKG_FILE, newPkgJson, {
encoding: 'utf8'
})
} else {
writeJSONSync(PKG_FILE, jsonMap[name], {
encoding: 'utf8'
})
}
execSync(`npx prettier --write ${PKG_FILE}`, {
stdio: 'inherit',
cwd: ROOT
writeJSONSync(PKG_FILE, newPkgJson, {
encoding: 'utf8'
})

to(
promisify(exec)(command, {
cwd,
timeout: 30000
})
)
.then(([err]: any) => {
err && console.error(err.stderr!)
})
.finally(() => {
writeJSONSync(PKG_FILE, pkgJson, {
encoding: 'utf8'
})
execSync(`npx prettier --write ${PKG_FILE}`, {
stdio: 'inherit',
cwd
})
})
}
}
})()

0 comments on commit 8c6436b

Please sign in to comment.