mirror of
				https://github.com/TeaOSLab/EdgeAdmin.git
				synced 2025-11-04 13:10:26 +08:00 
			
		
		
		
	初步完成用户电子邮箱绑定(激活)
This commit is contained in:
		@@ -97,6 +97,7 @@ func (this *UserAction) RunGet(params struct {
 | 
			
		||||
		"username":         user.Username,
 | 
			
		||||
		"fullname":         user.Fullname,
 | 
			
		||||
		"email":            user.Email,
 | 
			
		||||
		"verifiedEmail":    user.VerifiedEmail,
 | 
			
		||||
		"tel":              user.Tel,
 | 
			
		||||
		"remark":           user.Remark,
 | 
			
		||||
		"mobile":           user.Mobile,
 | 
			
		||||
 
 | 
			
		||||
							
								
								
									
										102
									
								
								web/public/js/components/senders/email-sender.js
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										102
									
								
								web/public/js/components/senders/email-sender.js
									
									
									
									
									
										Normal file
									
								
							@@ -0,0 +1,102 @@
 | 
			
		||||
Vue.component("email-sender", {
 | 
			
		||||
	props: ["value", "name"],
 | 
			
		||||
	data: function () {
 | 
			
		||||
		let value = this.value
 | 
			
		||||
		if (value == null) {
 | 
			
		||||
			value = {
 | 
			
		||||
				isOn: false,
 | 
			
		||||
				smtpHost: "",
 | 
			
		||||
				smtpPort: 0,
 | 
			
		||||
				username: "",
 | 
			
		||||
				password: "",
 | 
			
		||||
				fromEmail: "",
 | 
			
		||||
				fromName: ""
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
		let smtpPortString = value.smtpPort.toString()
 | 
			
		||||
		if (smtpPortString == "0") {
 | 
			
		||||
			smtpPortString = ""
 | 
			
		||||
		}
 | 
			
		||||
 | 
			
		||||
		return {
 | 
			
		||||
			config: value,
 | 
			
		||||
			smtpPortString: smtpPortString
 | 
			
		||||
		}
 | 
			
		||||
	},
 | 
			
		||||
	watch: {
 | 
			
		||||
		smtpPortString: function (v) {
 | 
			
		||||
			let port = parseInt(v)
 | 
			
		||||
			if (!isNaN(port)) {
 | 
			
		||||
				this.config.smtpPort = port
 | 
			
		||||
			}
 | 
			
		||||
		}
 | 
			
		||||
	},
 | 
			
		||||
	methods: {
 | 
			
		||||
		test: function () {
 | 
			
		||||
			window.TESTING_EMAIL_CONFIG = this.config
 | 
			
		||||
			teaweb.popup("/users/setting/emailTest", {
 | 
			
		||||
				height: "36em"
 | 
			
		||||
			})
 | 
			
		||||
		}
 | 
			
		||||
	},
 | 
			
		||||
	template: `<div>
 | 
			
		||||
	<input type="hidden" :name="name" :value="JSON.stringify(config)"/>
 | 
			
		||||
	<table class="ui table selectable definition">
 | 
			
		||||
		<tbody>
 | 
			
		||||
			<tr>
 | 
			
		||||
				<td class="title">启用</td>
 | 
			
		||||
				<td><checkbox v-model="config.isOn"></checkbox></td>
 | 
			
		||||
			</tr>
 | 
			
		||||
		</tbody>
 | 
			
		||||
		<tbody v-show="config.isOn">
 | 
			
		||||
			<tr>
 | 
			
		||||
				<td>SMTP地址 *</td>
 | 
			
		||||
				<td>
 | 
			
		||||
					<input type="text" :name="name + 'SmtpHost'" v-model="config.smtpHost"/>
 | 
			
		||||
					<p class="comment">SMTP主机地址,比如<code-label>smtp.qq.com</code-label>,目前仅支持TLS协议,如不清楚,请查询对应邮件服务商文档。</p>
 | 
			
		||||
				</td>
 | 
			
		||||
			</tr>
 | 
			
		||||
			<tr>
 | 
			
		||||
				<td>SMTP端口 *</td>
 | 
			
		||||
				<td>
 | 
			
		||||
					<input type="text" :name="name + 'SmtpPort'" v-model="smtpPortString" style="width: 5em" maxlength="5"/>
 | 
			
		||||
					<p class="comment">SMTP主机端口,比如<code-label>587</code-label>、<code-label>465</code-label>,如不清楚,请查询对应邮件服务商文档。</p>
 | 
			
		||||
				</td>
 | 
			
		||||
			</tr>
 | 
			
		||||
			<tr>
 | 
			
		||||
				<td>用户名 *</td>
 | 
			
		||||
				<td>
 | 
			
		||||
					<input type="text" :name="name + 'Username'" v-model="config.username"/>
 | 
			
		||||
					<p class="comment">通常为发件人邮箱地址。</p>
 | 
			
		||||
				</td>
 | 
			
		||||
			</tr>
 | 
			
		||||
			<tr>
 | 
			
		||||
				<td>密码 *</td>
 | 
			
		||||
				<td>
 | 
			
		||||
					<input type="password" :name="name + 'Password'" v-model="config.password"/>
 | 
			
		||||
					<p class="comment">邮箱登录密码或授权码,如不清楚,请查询对应邮件服务商文档。。</p>
 | 
			
		||||
				</td>
 | 
			
		||||
			</tr>
 | 
			
		||||
			<tr>
 | 
			
		||||
				<td>发件人Email *</td>
 | 
			
		||||
				<td>
 | 
			
		||||
					<input type="text" :name="name + 'FromEmail'" v-model="config.fromEmail" maxlength="128"/>
 | 
			
		||||
					<p class="comment">使用的发件人邮箱地址,通常和发件用户名一致。</p>
 | 
			
		||||
				</td>
 | 
			
		||||
			</tr>
 | 
			
		||||
			<tr>
 | 
			
		||||
				<td>发件人名称</td>
 | 
			
		||||
				<td>
 | 
			
		||||
					<input type="text" :name="name + 'FromName'" v-model="config.fromName" maxlength="30"/>
 | 
			
		||||
					<p class="comment">使用的发件人名称,默认使用系统设置的<a href="/settings/ui" target="_blank">产品名称</a>。</p>
 | 
			
		||||
				</td>
 | 
			
		||||
			</tr>
 | 
			
		||||
			<tr>
 | 
			
		||||
				<td>发送测试</td>
 | 
			
		||||
				<td><a href="" @click.prevent="test">[点此测试]</a></td>
 | 
			
		||||
			</tr>
 | 
			
		||||
		</tbody>
 | 
			
		||||
	</table>
 | 
			
		||||
	<div class="margin"></div>
 | 
			
		||||
</div>`
 | 
			
		||||
})
 | 
			
		||||
@@ -33,35 +33,42 @@
 | 
			
		||||
        <td>关联集群</td>
 | 
			
		||||
        <td>
 | 
			
		||||
            <span v-if="user.cluster != null">{{user.cluster.name}} <link-icon :href="'/clusters/cluster?clusterId=' + user.cluster.id"></link-icon></span>
 | 
			
		||||
            <span v-else class="disabled">-</span>
 | 
			
		||||
            <span v-else class="disabled">没有设置。</span>
 | 
			
		||||
        </td>
 | 
			
		||||
    </tr>
 | 
			
		||||
    <tr>
 | 
			
		||||
        <td>手机号</td>
 | 
			
		||||
        <td>
 | 
			
		||||
            <span v-if="user.mobile.length > 0">{{user.mobile}}</span>
 | 
			
		||||
            <span v-else class="disabled">-</span>
 | 
			
		||||
            <span v-else class="disabled">没有设置。</span>
 | 
			
		||||
        </td>
 | 
			
		||||
    </tr>
 | 
			
		||||
    <tr>
 | 
			
		||||
        <td>联系电话</td>
 | 
			
		||||
        <td>
 | 
			
		||||
            <span v-if="user.tel.length > 0">{{user.tel}}</span>
 | 
			
		||||
            <span v-else class="disabled">-</span>
 | 
			
		||||
            <span v-else class="disabled">没有设置。</span>
 | 
			
		||||
        </td>
 | 
			
		||||
    </tr>
 | 
			
		||||
    <tr>
 | 
			
		||||
        <td>电子邮箱</td>
 | 
			
		||||
        <td>常用电子邮箱</td>
 | 
			
		||||
        <td>
 | 
			
		||||
            <span v-if="user.email.length > 0">{{user.email}}</span>
 | 
			
		||||
            <span v-else class="disabled">-</span>
 | 
			
		||||
            <span v-else class="disabled">没有设置。</span>
 | 
			
		||||
        </td>
 | 
			
		||||
    </tr>
 | 
			
		||||
    <tr>
 | 
			
		||||
        <td>已绑定电子邮箱</td>
 | 
			
		||||
        <td>
 | 
			
		||||
            <span v-if="user.verifiedEmail.length > 0">{{user.verifiedEmail}}</span>
 | 
			
		||||
            <span v-else class="disabled">没有设置。</span>
 | 
			
		||||
        </td>
 | 
			
		||||
    </tr>
 | 
			
		||||
    <tr>
 | 
			
		||||
        <td>备注</td>
 | 
			
		||||
        <td>
 | 
			
		||||
            <span v-if="user.remark.length > 0">{{user.remark}}</span>
 | 
			
		||||
            <span v-else class="disabled">-</span>
 | 
			
		||||
            <span v-else class="disabled">没有设置。</span>
 | 
			
		||||
        </td>
 | 
			
		||||
    </tr>
 | 
			
		||||
    <tr>
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user